Obecnie używam TextBlock
poniżej, aby powiązać wartość właściwości o nazwie Name
:
<TextBlock Text="{Binding Name}" />
Teraz chcę powiązać inną właściwość o ID
tej samej nazwie TextBlock
.
Czy można powiązać dwie lub więcej wartości z tym samym TextBlock
? Czy można tego dokonać za pomocą prostej konkatenacji, na przykład, Name + ID
a jeśli nie, to jak inaczej można do tego podejść?
DataGrid
sortowania, niestety nie zadziała. Bardziej odpowiednim rozwiązaniem byłoby utworzenie właściwości tylko do odczytu w modelu z odpowiednim formatem ciągu, z którym można się wiązać. Nie trzeba dodawać, że jest to dobry sposób na szybkie sformatowanie, choć trochę zbyt szczegółowe.XamlParseException: A 'Binding' cannot be set on the 'Path' property of type 'Binding'. A 'Binding' can only be set on a DependencyProperty of a DependencyObject.
Wiem, że jest już późno, ale pomyślałem, że dodam jeszcze jeden sposób.
Możesz skorzystać z faktu, że właściwość Text można ustawić za pomocą „ Run s”, dzięki czemu możesz skonfigurować wiele powiązań za pomocą Run dla każdego z nich. Jest to przydatne, jeśli nie masz dostępu do MultiBinding (którego nie znalazłem podczas programowania dla Windows Phone)
źródło
Jeśli będą to tylko bloki tekstowe (a zatem wiązanie jednokierunkowe), a chcesz po prostu połączyć wartości, po prostu powiąż dwa bloki tekstowe i umieść je w poziomym panelu stosu.
Spowoduje to wyświetlenie tekstu (tak jak robią to wszystkie bloki Textblocks) bez konieczności dalszego kodowania. Możesz jednak nałożyć na nie niewielki margines, aby wyglądały dobrze.
źródło
Użyj ValueConverter
i w znacznikach
. . .
źródło