2016-08-08 5 views
0

WPF C#の指定された行の指定された列にスタイル/ Behaviortoに影響を与えることはできますか?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

( "X" の値が3であれば2列 "Y" を無効にする)この作品:

<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> 
関連する問題