WPF DataTrigger zum Anzeigen und Ausblenden der Gitterspalte XAML
Ich habe eine WPF-Anwendung, die ein Raster enthält. Das Gitter wird in 3 Spalten aufgeteilt, wobei das 3. Gitter beim Laden die Breite Null hat.
Ich habe zwei Datagrids in den anderen beiden Spalten. Wenn sich das ausgewählte Element in einem der Datengitter ändert, ändert sich das andere Datengitter und zeigt Werte an, d. H. Eine Master-Detailvorlage. Das alles funktioniert gut.
Es gibt einen Wert im Datagrid, bei dessen Auswahl ich möchte, dass diese dritte Spalte ihre Breite von Null auf 2 * ändert. Ich weiß nicht, wie das geht?
Ich möchte dies durch XAML erreichen. Ich habe mir Datentrigger und Wertkonverter angesehen. Ich habe unten schnell Code zum Testen geschrieben. Ich habe gelesen, dass das Setzen der Spalte auf width = 0 in der Prioritätsliste der Abhängigkeitseigenschaften wahrscheinlich höher ist. Gibt es sowieso, um dies zu tun, oder muss ich Code dahinter verwenden?
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="0"/>
</Grid.ColumnDefinitions>
<DataGrid Grid.Column="0"
ItemsSource="{Binding OrderList}"
SelectedItem="{Binding OrderSelected}"
AutoGenerateColumns="True">
</DataGrid>
<TextBox Grid.Column="1" Text="{Binding OrderSelected.Name}">
</TextBox>
<Grid x:Name="columnHideSeek" Grid.Column="2" Background="Blue">
<Grid.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding OrderSelected.Name}" Value="Mark">
<Setter Property="Grid.Width" Value="10"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Grid.Style>
</Grid>
</Grid>