c# - wpf - dürfen nicht beide DisplayMemberPath und ItemTemplate
Möchte ich hinzufügen, dass der tooltip im listboxItem aber es beginnt problem, wenn es DisplayMemberPath. Fehlermeldung sagt: kann nicht beide DisplayMemberPath und ItemTemplate. Wenn ich entfernt DisplayMemberPath, QuickInfo, die in jede Liste Element arbeitet. Ich möchte aber nicht entfernen DisplayMemember, weil ich es brauche. Wie dieses problem zu lösen?
<ListBox x:Name="lstToys" Style="{DynamicResource ListBoxStyle1}" ItemsSource="{Binding Strings}" DisplayMemberPath="Toys" MouseDoubleClick="lstToys_MouseDoubleClick">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" ToolTip="Here is a tooltip"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
- Setzen, dass der Pfad in der DataTemplate Bindung
InformationsquelleAutor user235973457 | 2013-08-16
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
DisplayMemberPath
ist in der Tat eine Vorlage für eine einzelne Eigenschaft, dargestellt in einemTextBlock
. Wenn Sie set:Es ist äquivalent zu:
Können Sie einfach entfernen Sie die
DisplayMemberPath
Pfad und verwenden Sie den Wert in IhremDataTemplate
'sBinding
:Bearbeiten
Wenn Sie wollen eine
ToolTip
aber halten Sie dieDisplayMemberPath
ist, können Sie es an derItemContainerStyle
:Ich würde davon abraten. Denken Sie daran, dass die Verwendung
DisplayMemberPath
hält dich davon ab, jede komplexe Bindung in Ihrem Daten-Vorlage.ItemTemplate
wenn SieDisplayMemberPath
. Wenn Sie braucht komplexer geworden, für das templating, werden Sie brauchen, um Ihre Logik (ich glaube nicht, dass mit DisplayMemberPath für benutzerdefinierte Logik außerhalb der Sicht ist eine gute Idee).