wpf - wie kann ich eine Abhängigkeit zwischen Expander innerhalb DataGrid- und einer der DataGridRow Eigenschaften
-
19-09-2019 - |
Frage
Dies ist eine allgemeine Frage. Und möglicherweise nicht spezifisch für Datagrids. Wie kann ich im Zusammenhang 2 Eigenschaften oder 2 verschiedene Elemente der Benutzeroberfläche / Kontrollen
Wie jedes DataGridRow einen Expander hat, und ich möchte, dass die IsExpanded Eigenschaft auf DataGridRow ausgewählte Ereignis abhängig sein.
Danke
Lösung
Eine relative Quell Bindung kann ohne Bezugnahme auf das Quellenelement nach dem Namen zu binden zwei Eigenschaften verwendet werden. Dies ist besonders nützlich ist Stil.
Hier ist ein Beispiel für eine List-Box mit Gegenständen, die bei Auswahl erweitern.
<ListBox>
<ListBox.ItemTemplate>
<DataTemplate>
<Expander
Header="{Binding}"
IsExpanded="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ListBoxItem}, Path=IsSelected}">
<TextBlock
Text="{Binding}" />
</Expander>
</DataTemplate>
</ListBox.ItemTemplate>
<sys:String>a</sys:String>
<sys:String>b</sys:String>
<sys:String>c</sys:String>
<sys:String>d</sys:String>
</ListBox>
Wenn ich brauche eine Phantasie-Bindung, die ich regelmäßig einen Spickzettel von Nir geschrieben verwenden auf seinem Blog und in die referenzierte Stackoverflow Frage gibt es eine WPF-Spickzettel outhere? .
Hier ist der Spickzettel Link .
Wenn Sie jemals lesen Sie diese dank Nir.