1

これは一般的な質問です。また、データグリッドに固有ではない場合があります。2つのプロパティまたは2つの異なるUI要素/コントロールをどのように関連付けることができますか

同様に、各datagridRowにはExpanderがあり、IsExpandedプロパティがdatagridrowで選択されたイベントに依存するようにします。

ありがとうございました

4

1 に答える 1

1

相対ソース バインディングを使用して、ソース要素を名前で参照せずに 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に感謝します。

于 2010-03-10T15:30:45.537 に答える