2016-08-08 2 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> 

문제이며, 전체 행이 비활성화되어 있는지. 어떤 상황에서는 첫 번째 열을 비활성화해야합니다.

는 열, 내가 사용하지 싶습니다

<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

을 :

<DataGridTemplateColumn Header="Details" Width="100"> 
    <DataGridTemplateColumn.CellTemplate> 
     <DataTemplate> 
      <Button IsEnabled ="{Binding boolEnabled}" Click="ShowDetails">Details</Button> 
     </DataTemplate> 
    </DataGridTemplateColumn.CellTemplate> 
</DataGridTemplateColumn> 
+0

도와 주신 Thx. 요점이 있지만, 제 경우에는 DataGridTemplateColumn이 있는데 바인딩을 수행하는 방법을 모르겠습니다. 편집 된 질문을 확인하십시오. – DJack

0

솔루션 :이 ("X"의 값이 3 인 경우 2 열 "Y"를 해제) 작동

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