Wpf DataGridColumn动态(参数化)绑定到集合的列
我试图将datagrid绑定到集合,但我不知道该集合的哪些列。 因此,我尝试将列绑定到传递给视图的属性 我的代码是:Wpf DataGridColumn动态(参数化)绑定到集合的列,wpf,binding,datagridcolumn,Wpf,Binding,Datagridcolumn,我试图将datagrid绑定到集合,但我不知道该集合的哪些列。 因此,我尝试将列绑定到传递给视图的属性 我的代码是: <FrameworkElement x:Key="ProxyElement" DataContext="{Binding ElementName=_VMItemSelector}"/> 该值被设置为“DS_FUNCTION”,这是我绑定的集合的一个字段,但我在dataGrid中看到的是集合中每个元素的alwats“DS_FUNCTION”。您不能只将dataGr
<FrameworkElement x:Key="ProxyElement" DataContext="{Binding ElementName=_VMItemSelector}"/>
该值被设置为“DS_FUNCTION”,这是我绑定的集合的一个字段,但我在dataGrid中看到的是集合中每个元素的alwats“DS_FUNCTION”。您不能只将
dataGrid.AutoGenerateColumns
属性设置为true
?否,我还需要一些逻辑来将行从一个网格添加到这个网格,反之亦然,以及其他任务。此外,我不想显示所有的列,集合类型可以更改(我想创建一个wpf可重用组件),您的RightColumnHeader
属性定义在视图的xaml.cs中的何处?这就是为什么它在每一行中都显示相同的原因。如果希望为每个项目显示不同的值,则需要将其移动到集合中对象类型的类定义中。
<WPFCtrlDg:SelfBindingDataGrid x:Name="_sbdgAvailableItems" ScrollViewer.VerticalScrollBarVisibility="Auto"
ItemsSource="{Binding Path=Availables}"
SelectedItem="{Binding Path=CurrentAvailableItem, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
IsReadOnly="{Binding DataContext.IsReadOnly,
Source={StaticResource ProxyElement},
Mode=OneWay}">
<WPFCtrlDg:SelfBindingDataGrid.Columns>
<WPFCtrlDg:ExtDataGridTextColumn Header="{Binding DataContext.DetailBinding,
Source={StaticResource ProxyElement},
Mode=OneWay}"
Tag="CD_FUNCTION"
Visibility="Hidden"/>
<WPFCtrlDg:ExtDataGridTextColumn Header="{Binding DataContext.RightColumnHeader,
Source={StaticResource ProxyElement},
Mode=OneWay}"
Binding="{Binding DataContext.RightColumnHeader,
Source={StaticResource ProxyElement},
Mode=OneWay}"
Width="*"/>
private string _rightColumnHeader;
public string RightColumnHeader
{
get { return _rightColumnHeader; }
set { _rightColumnHeader = value; }
}