使用选定行的属性绑定DataGridColumnHeader

时间:2017-02-22 09:46:09

标签: c# wpf xaml data-binding wpfdatagrid

考虑以下ViewModel:

webElement.click().then(function(element){
        console.log(""Successfully clicked on the " + element);
};

请注意,我使用Fody's PropertyChanged来使我的ViewModel属性实现select a.name, count(1) from event_place a, event_participants b where b.event_place_id = a.id group by a.name;

我有以下public class MyViewModel { public ObservableCollection<Foo> foos { get; set; } } [PropertyChanged.ImplementPropertyChanged] public class Foo { public string Name { get; set; } public string NameHeader { get; set; } }

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。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

使用HeaderTemplate TextBlock绑定SelectedItem的{​​{1}}属性:

DataGrid