2011-07-06 5 views
2

일부 조건에 따라 확인란이 포함 된 셀을 비활성화하려고합니다. 즉, 확인란이 흐리게 보이고 사용 중지 된 것처럼 보이지만 확인란을 클릭하면 확인란이 선택됩니다. 즉 실제로 비활성화되지는 않습니다. 다음은 내가wpf의 일부 조건을 기반으로 DataGrid의 셀에서 체크 박스를 비활성화합니다.

<toolkit:DataGridCheckBoxColumn Header="Del?" Binding="{Binding DeleteFlag, Mode=Default}" Width="45" IsReadOnly="True" > 
    <toolkit:DataGridCheckBoxColumn.ElementStyle> 
     <Style TargetType="{x:Type CheckBox}"> 
      <Setter Property="IsEnabled" Value="{Binding Path=SortPos, Converter={x:Static my:RowReadOnlyConverter.Instance}}" /> 
     </Style> 
    </toolkit:DataGridCheckBoxColumn.ElementStyle> 
</toolkit:DataGridCheckBoxColumn> 

은 "SortPos는"위의 강조 XAML에서

을 시도 코드 것은 기반 부울 값을 반환 IValueConverter 인터페이스를 구현하는 "RowReadOnlyConverter"클래스 정수 값을 전송 어떤 조건에. 위와 같이 작동하지만 확인란은 위에서 언급 한 것처럼 비활성화되지 않습니다. 나는 또한 "IsEnabled"대신 "IsHitTestVisible"을 시도했다. 누구든지 위에서 언급 한 것 이외의 다른 해결책이나 다른 해결책을 알고 있습니까?

"RowReadOnlyConverter"클래스를 보거나이 스크린 샷을 원할 경우 알려주십시오. isstopprocess 체크 박스의 열입니다 ..here

답변

3

은 .. disabiling..ok가 편집 가능한, XAML 파일에서 다음과 같이이 열 isstopprocess 열을 기반으로 다른 열입니다 쓰기

<my:DataGridTemplateColumn> 
    <my:DataGridTemplateColumn.CellTemplate> 
     <DataTemplate> 
      <CheckBox Name="chkIstopProcess" IsChecked="{Binding Path=IS_STOP_PROCESS}" IsEnabled="{Binding Path=IsEditable}" MinWidth="50"></CheckBox> 
     </DataTemplate> 
    </my:DataGridTemplateColumn.CellTemplate> 
</my:DataGridTemplateColumn> 
관련 문제