У меня есть приложение WPF, содержащее сетку. Сетка разбивается на 3 столбца, а 3-я сетка имеет нулевую ширину при загрузке.WPF Изменение ширины столбца во время выполнения
У меня есть два datagrids в двух других столбцах. Когда выбранный элемент в одном из данных datagrid изменяет другие изменения в datagrid, он отображает значения, т. Е. Шаблон главной детали. Все это прекрасно работает.
В наборе данных есть одно значение, которое, если выбрано, я хочу, чтобы этот третий столбец менял ширину от нуля до 2 *. Я не знаю, как это сделать?
EDIT
Я хотел бы добиться этого с помощью XAML. Я смотрю на триггеры данных & преобразователей значений. Я быстро написал код ниже, чтобы проверить. Я прочитал, что установка столбца в ширину = 0, вероятно, выше в списке приоритетов свойств зависимостей. В любом случае, чтобы сделать это, или мне нужно будет использовать код?
<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>
Привет спасибо за ответ. Я надеялся добиться этого через xaml и сохранить шаблон mvvm, который я пытаюсь достичь. Я смотрел триггеры данных и преобразователи ценности, однако не могу понять, как решить мою проблему – mHelpMe