【发布时间】:2017-02-22 09:46:08
【问题描述】:
考虑以下 ViewModel:
public class MyViewModel
{
public ObservableCollection<Foo> foos { get; set; }
}
[PropertyChanged.ImplementPropertyChanged]
public class Foo
{
public string Name { get; set; }
public string NameHeader { get; set; }
}
请注意,我正在使用 Fody's PropertyChanged 使我的 ViewModel 属性实现 INotifyPropertyChanged。
我有以下DataGrid:
<DataGrid x:Name="FooTable"
ItemsSource="{Binding Path=foos}"
AutoGenerateColumns="False"
CanUserAddRows="True"
AutomationProperties.IsColumnHeader="True"
SelectionMode="Single"
SelectionUnit="FullRow">
<DataGrid.Columns>
<DataGridTextColumn
Binding="{Binding Name, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
Header="{Binding NameHeader, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"
Width="Auto" />
</DataGrid.Columns>
</DataGrid>
Header 与 NameHeader 的绑定不起作用!当然,然后我意识到不同的行会有不同的NameHeader 值。
所以我真正想要的是将列的Header 与选定行的NameHeader 绑定。我怎样才能做到这一点?
【问题讨论】:
标签: c# wpf xaml data-binding wpfdatagrid