Sample:
<Window.Resources>
<BooleanToVisibilityConverter x:Key="BoolToVis" />
</Window.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
<RowDefinition></RowDefinition>
</Grid.RowDefinitions>
<Label Grid.Row="0" x:Name="label1" Content="Text"/>
<ComboBox Grid.Row="1" SelectedIndex="0">
<ComboBoxItem x:Name="it1">Item1</ComboBoxItem>
<ComboBoxItem x:Name="it2">Item2</ComboBoxItem>
</ComboBox>
<DataGrid Background="Blue" Grid.Row="2" Visibility="{Binding ElementName=it1, Path=IsSelected, Converter={StaticResource BoolToVis}}">
<DataGrid.Columns>
<DataGridTextColumn>
<DataGridTextColumn.Header >
<TextBlock Text="{Binding ElementName=label1, Path=Content}"/>
</DataGridTextColumn.Header>
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
<DataGrid Background="Red" Grid.Row="2" Visibility="{Binding ElementName=it2, Path=IsSelected, Converter={StaticResource BoolToVis}}">
<DataGrid.Columns>
<DataGridTextColumn>
<DataGridTextColumn.Header >
<TextBlock Text="{Binding ElementName=label1, Path=Content}"/>
</DataGridTextColumn.Header>
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
</Grid>
How to bind text from label1
into header in second DataGrid
which was hidden before.
This sample is not working.
Results:
As you can see, from some reason, second DataGrid
don't want to bind the text from Label