I am trying to implement this https://stackoverflow.com/a/3754004/1805329
My problem is that
(string)column.GetValue(NameProperty)
returns "" although i did set Names for every column in my Grid.
<fw:DataGridEx x:Name="LogGrid"
Visibility="Visible"
DockPanel.Dock="Top"
VerticalScrollBarVisibility="Auto"
SelectionMode="Single"
SelectionUnit="FullRow"
IsReadOnly="True"
AlternatingRowBackground ="Gainsboro"
AlternationCount="2"
ItemsSource="{Binding Path=LogView, Mode=TwoWay, NotifyOnSourceUpdated=True, UpdateSourceTrigger=PropertyChanged}"
SelectedItem="{Binding Path=LogItem, Mode=TwoWay, NotifyOnSourceUpdated=True, UpdateSourceTrigger=PropertyChanged}"
HiddenColumns="{Binding LogHiddenColumns}"
AutoGenerateColumns="False">
<i:Interaction.Behaviors>
<fw:ScrollIntoViewBehavior/>
</i:Interaction.Behaviors>
<DataGrid.Columns>
<DataGridTextColumn x:Name="logColumnTime"
Header="Time"
Binding="{Binding Time}" />
<DataGridTextColumn x:Name="logColumnDirection"
Header="Direction"
Binding="{Binding Direction}" />
<DataGridTextColumn x:Name="logColumnData"
Header="Data"
Binding="{Binding Data}" />
<DataGridTextColumn x:Name="logColumnSpecifics"
Header="Specifics"
Binding="{Binding Specifics}" />
<DataGridTextColumn x:Name="logColumnOverheadData"
Header="Overhead Data"
Binding="{Binding OverheadData}" />
<DataGridTextColumn x:Name="logColumnOverheadSpecifics"
Header="Overhead Specifics"
Binding="{Binding OverheadSpecifics}" />
</DataGrid.Columns>
</fw:DataGridEx>
When I set the name for a column with
columns[0].SetValue(NameProperty, "Time");
the GetValue(NameProperty) method returns the correct value. I obviously don't want to do this, because it would be against the MVVM pattern. I did it only for debugging purposes.
Does anyone know why it doesn't recognize the name defined in XAML?