MVVM WPF 프로젝트에서보기가 있습니다. DataTable (DataTable에서) DataView에 바인딩 된 페이지에서 DataGrid가 있습니다. 내가 필요하면 뷰 모델 재산권의 진정한 값에 의해 재정의되어야하는 데이터 그리드 행의 배경 색상에 대한 MultiDataTrigger를 사용하는 것입니다DataGrid MultiDataTrigger ViewModel 속성에 바인딩
public bool IsAutorized
{
get { return _isAutorized; }
set
{
_isAutorized = value;
OnNotifyPropertyChanged("IsAutorized");
}
}
참 값의 DataRow의 속성입니다 반면. 이것은 내가 지금 가지고있는 ViewModel 속성에 대한 바인딩이 올바르지 않습니다. 속성에 중단 점을 설정하면 "catch"되지 않습니다.
<Style.Triggers>
<Trigger Property="DataGridRow.IsSelected" Value="True">
<Setter Property="Background" Value="#CCDAFF"/>
</Trigger>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding Path=IsAutorized,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=Page}}" Value="True" />
<Condition Binding="{Binding RelativeSource={RelativeSource Self},Path=IsNotSpecific}" Value="True" />
</MultiDataTrigger.Conditions>
<Setter Property="Background" Value="#CCF4FF" />
</MultiDataTrigger> </Style.Triggers>
바인딩 문제는 매우 혼란 스럽지만 googleing을 시도했지만 아무 것도 발견하지 못했습니다. 어떤 아이디어로 열심히 할 수 있습니까?
감사합니다.
- 편집 :
"IsNotSpecific"와 "에 isSelected"는 DataView를 모두 Colmns, 즉 DataTable의, 강력한 형식의 데이터 집합 테이블에서 가져옵니다이다.
행을 선택하면 "IsSelected"필드/열이 true로 설정되고 특정 색상이 트리거됩니다. View 속성 "IsAutorized"가 true로 설정되고 DataTow (DataTable의) "IsNotSpecific"열이 "True"로 설정되면 다른 색이 표시되어야합니다.
왜 당신은 그 RelativeSource를 작성 했습니까? IsAutorized는 분명히 Page의 재산이 아닙니다. – Clemens
@Clemens IsAutorized는 ViewModel의 속성입니다. 나는 무엇이 효과가 있을지 모르기 때문에 모든 것을 시도해 봅니다. VM 등록 정보는 어떻게 얻습니까? –
자세한 정보를 입력하십시오. –