0

次のようなスタイルの ListView があります。

<ListView.View>
    <GridView>
        <GridViewColumn Header="Reset" Width="60">
            <GridViewColumn.CellTemplate>
                <DataTemplate>
                    <CheckBox IsChecked="{Binding ResetThisItem}" />
                </DataTemplate>
             </GridViewColumn.CellTemplate>             
        </GridViewColumn>
    </GridView>
</ListView.View>

ViewModel-Class には、「ResetThisItem」というプロパティがあります。

ユーザーが ListView の完全な行を選択したときに、このプロパティを true に設定します。アイテムが選択解除された場合、何も起こりません。

ここで DataTriggers が必要であることはわかっていますが、ListViewItem.IsSelected と ViewModel.ResetThisItem にアクセスできる場所と、xaml でそれらの間をバインドする方法がわからないため、どこにあるのかわかりません...

ヒントをいただければ幸いです。ありがとう!

4

1 に答える 1

0
<ListView>
    <ListView.ItemContainerStyle>
        <Style TargetType="ListViewItem">
            <Setter Property="IsSelected" Value="{Binding ResetThisItem, Mode=OneWayToSource}"/>
        </Style>
    </ListView.ItemContainerStyle>
    <ListView.View>
        <GridView>
            <GridViewColumn Header="Reset" Width="60">
                <GridViewColumn.CellTemplate>
                    <DataTemplate>
                        <CheckBox IsChecked="{Binding ResetThisItem}" />
                    </DataTemplate>
                </GridViewColumn.CellTemplate>
            </GridViewColumn>
        </GridView>
    </ListView.View>
</ListView>

これはおそらくあなたが求めていることを達成するための最も簡単な方法です。コードアプローチまたは別の角度を好むかどうかを教えてください。これがお役に立てば幸いです。:)

于 2012-11-09T14:28:50.430 に答える