Betrachten Sie das folgende Ansichtsmodell:Bind DataGridColumnHeader mit ausgewählter Zeile Eigentum
public class MyViewModel
{
public ObservableCollection<Foo> foos { get; set; }
}
[PropertyChanged.ImplementPropertyChanged]
public class Foo
{
public string Name { get; set; }
public string NameHeader { get; set; }
}
Bitte beachte, dass ich Fody's PropertyChanged bin mit meiner Ansichtsmodell Eigenschaften INotifyPropertyChanged
implementieren lassen.
Und ich habe folgende 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>
Die Bindung von Header
mit NameHeader
wird nicht funktionieren! Natürlich habe ich dann festgestellt, dass verschiedene Zeilen unterschiedliche Werte von NameHeader
haben.
Also, was ich wirklich will, ist zu binden Spalte Header
mit ausgewählten Zeile des NameHeader
. Wie kann ich das erreichen?
Warum nicht dachte ich an, dass .. Dank! –