【发布时间】:2020-01-15 12:10:25
【问题描述】:
我对 C# MVVM, WPF 很陌生。我有一个 DataGrid,我可以在其中选择多行,我想将多行的值作为对象数组获取。 我看过这样的链接,但找不到我想要的。
enter code here
<DataGrid ScrollViewer.CanContentScroll="True" VerticalScrollBarVisibility="Auto" SelectionUnit="FullRow" BorderThickness="1" x:Name="ssa" CanUserAddRows="False" CanUserDeleteRows="False" AutoGenerateColumns="False" ItemsSource="{Binding Items,UpdateSourceTrigger=PropertyChanged}" IsSynchronizedWithCurrentItem="True" GridLinesVisibility="All"
HorizontalScrollBarVisibility="Auto" SelectionMode="Single" Height="280" Width="1600" SelectedItem="{Binding selected_row}">
<DataGrid.ContextMenu>
<ContextMenu>
<MenuItem Header="Get item" Command="{Binding get_item}" CommandParameter="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ContextMenu}}, Path=PlacementTarget.SelectedItems}">
</MenuItem>
<DataGrid.Columns>
<DataGridTextColumn Width="150" x:Name="item_name" Binding="{Binding name, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged,ValidatesOnDataErrors=True}" FocusManager.FocusedElement="{Binding RelativeSource={RelativeSource Self}}">
Viewmodel.cs 给出了数据网格项的绑定: 私有字符串名称;
public string name
{
get { return Name; }
set { Name = value; RaisePropertyChanged("name"); }
}
enter code here
对于选定的项目也给出了绑定,但我没有得到如何将数据网格的多个选定行作为对象数组获取值
【问题讨论】:
-
将
SelectedItems绑定到一个可观察的集合 -
@Bizhan SelectedItems 没有公共设置器。无法绑定。