gpt4 book ai didi

c# - WPF MVVM 检索数据网格选定的行

转载 作者:太空狗 更新时间:2023-10-29 20:08:08 26 4
gpt4 key购买 nike

我有一个带有复选框的 DataGrid,使用我在互联网上找到的这段代码实现了它。

<my:DataGrid.RowHeaderTemplate>
<DataTemplate>
<Grid>
<CheckBox IsChecked="{Binding Path=IsSelected, Mode=TwoWay, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type my:DataGridRow}}}" />
</Grid>
</DataTemplate>
</my:DataGrid.RowHeaderTemplate>

但是,我怎样才能得到选定的行呢?我正在使用 WPF MVVM。

最佳答案

因为您使用的是 MVVM 模式,您可以像这样声明一个 ViewMode:

public class MyViewModel 
{
public ObservableCollection<Prototype> Items { ... }
public Prototype SelectedItem SelectedItem { ... }
}

之后,在您的数据网格中,您可以通过这种方式声明绑定(bind):

<DataGrid ItemSource="{Binding Items}" SelectedItem="{Binding SelectedItem, Mode=TwoWay}"... />

在您的代码中,您可以使用“SelectedItem”属性获取当前选定的数据网格行。否则,如果您的意思是“已检查”行,则可以查询您的可观察集合:

var selectedRows = ViewModel.Items.Where(i => i.IsSelected);

关于c# - WPF MVVM 检索数据网格选定的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11240045/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com