I'm trying do bind a DataGrid with the ViewModel. DataGrid visibility, ItemSource and column bindings work, but if I try to bind values as RowDetailsVisibilityMode, or the column header's text, the binding doesn't work. I tried to watch if the variables are binded correctly via debug, and if I point to te XAML while debugging and the informations are correctly binded.
What should I do to bind this DataGrid?
A:
<DataGrid Grid.Row="1" Grid.Column="0" ItemsSource="{Binding GridItemSource}" SelectedItem="{Binding SelectedGridItem}" RowDetailsVisibilityMode="{Binding RowDetailsVisibility}">
<DataGrid.Columns>
<DataGridTextColumn Header="HeaderA" Binding="{Binding ParameterA}" Width="30*"/>
<DataGridTextColumn Header="HeaderB" Binding="{Binding ParameterB}" Width="30*"/>
<DataGridTextColumn Header="HeaderC" Binding="{Binding ParameterC}" Width="30*"/>
</DataGrid.Columns>
</DataGrid>
B:
<DataGrid.Columns>
<DataGridTextColumn Header="{Binding ColumnNameA}" Binding="{Binding ParameterA}" Width="30*"/>
<DataGridTextColumn Header="{Binding ColumnNameB}" Binding="{Binding ParameterB}" Width="30*"/>
<DataGridTextColumn Header="{Binding ColumnNameC}" Binding="{Binding ParameterC}" Width="30*"/>
</DataGrid.Columns>
I'd like to go from situation A to situation B
Edit:
I tried this approach
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=HeaderName, Mode=OneWayToSource, UpdateSourceTrigger=PropertyChanged}"/>
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
And the string doesn't show up
The situation now is that if I write
<TextBlock Text="Header name"/>
I see the text, if I bind it i see a blank space.
Since I also have to bind the visibility of the row details I tried to bind the Property RowDetailsVisibilityMode with a bool (using a conveter) and this binding too doesn't work.