3
考虑以下视图模型:绑定DataGridColumnHeader与选定行的财产
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>
与NameHeader
绑定的Header
都不行!当然,我意识到不同的行将有不同的值NameHeader
。
所以我真正想要的是绑定列的Header
与选定行的NameHeader
。我怎样才能做到这一点?
我怎么没想到这一点..谢谢! –