WPF DataTrigger do wyświetlania i ukrywania kolumny siatki XAML
Mam aplikację WPF, która zawiera siatkę. Siatka jest podzielona na 3 kolumny z 3. siatką o zerowej szerokości po załadowaniu.
Mam dwie siatki danych w dwóch pozostałych kolumnach. Gdy wybrany element w jednej z datagrid zmienia inne zmiany datagrid, wyświetla wartości, tj. Główny szablon szczegółów. To wszystko działa dobrze.
W datagrid znajduje się jedna wartość, która, jeśli zostanie wybrana, spowoduje, że ta trzecia kolumna zmieni szerokość od zera do 2 *. Nie wiem jak to zrobić?
Chcę to osiągnąć dzięki XAML. Patrzyłem na wyzwalacze danych i konwertery wartości. Szybko napisałem kod, aby go przetestować. Przeczytałem, że ustawienie kolumny na szerokość = 0 jest prawdopodobnie wyższe na liście priorytetów ustawiania właściwości zależności. Czy jest to możliwe, czy będę musiał użyć kodu za?
<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>