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 回答