これは一般的な質問です。また、データグリッドに固有ではない場合があります。2つのプロパティまたは2つの異なるUI要素/コントロールをどのように関連付けることができますか
同様に、各datagridRowにはExpanderがあり、IsExpandedプロパティがdatagridrowで選択されたイベントに依存するようにします。
ありがとうございました
これは一般的な質問です。また、データグリッドに固有ではない場合があります。2つのプロパティまたは2つの異なるUI要素/コントロールをどのように関連付けることができますか
同様に、各datagridRowにはExpanderがあり、IsExpandedプロパティがdatagridrowで選択されたイベントに依存するようにします。
ありがとうございました
相対ソース バインディングを使用して、ソース要素を名前で参照せずに 2 つのプロパティをバインドできます。これはスタイルで特に便利です。
選択時に項目が展開される ListBox の例を次に示します。
<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>
派手なバインディングが必要なときは、Nirが彼のブログに投稿し、StackOverflow の質問Is there a WPF Cheat Sheet outhere?で参照されているチート シートを定期的に使用します。.
ここにチートシートの直接リンクがあります。
これを読んだことがあるなら、Nirに感謝します。