2016-08-08 3 views
0

Можно ли повлиять на стиль/Behaviorto на указанный столбец в указанной строке в WPF C#?C# WPF DataGrid.RowStyle задать стиль столбца

Сейчас у меня есть это:

    <DataTrigger Binding="{Binding Path=Status}" Value="2"> 
         <Setter Property="Grid.Column" Value="0"/> 
         <Setter Property="IsEnabled" Value="false" /> 
        </DataTrigger> 

Проблема сейчас в том, что вся строка отключена. Я бы хотел, чтобы в некоторых случаях только первый столбец был отключен.

Это столбец, я хотел бы отключить:

  <DataGridTemplateColumn Header="Details" Width="100"> 
       <DataGridTemplateColumn.CellTemplate> 
        <DataTemplate> 
         <Button Click="ShowDetails">Details</Button> 
        </DataTemplate> 
       </DataGridTemplateColumn.CellTemplate> 
      </DataGridTemplateColumn> 

ответ

0

Это работает (отключение 2-й столбец "Y", если значение "X" равно 3):

<DataGrid ItemsSource="{Binding Items}" AutoGenerateColumns="False"> 
     <DataGrid.Columns> 
      <DataGridTextColumn Header="X" Binding="{Binding X}"/> 
      <DataGridTextColumn Header="Y" Binding="{Binding Y}"> 
       <DataGridTextColumn.CellStyle> 
        <Style TargetType="DataGridCell"> 
         <Style.Triggers> 
          <DataTrigger Binding="{Binding X}" Value="3"> 
           <Setter Property="IsEnabled" Value="False"/> 
          </DataTrigger> 
         </Style.Triggers> 
        </Style> 
       </DataGridTextColumn.CellStyle> 
      </DataGridTextColumn> 
     </DataGrid.Columns> 
    </DataGrid> 
+0

Thx для оказания мне помощи. Я понимаю, но в моем случае у меня есть DataGridTemplateColumn, и я не знаю, как сделать привязку. Проверьте мой отредактированный вопрос. – DJack

0

Раствор :

<DataGridTemplateColumn Header="Details" Width="100"> 
    <DataGridTemplateColumn.CellTemplate> 
     <DataTemplate> 
      <Button IsEnabled ="{Binding boolEnabled}" Click="ShowDetails">Details</Button> 
     </DataTemplate> 
    </DataGridTemplateColumn.CellTemplate> 
</DataGridTemplateColumn> 
Смежные вопросы