2010-01-29 1 views
1

내 컬렉션과 속성에 바인딩 MultiDataTrigger :나는 다음과 같은 XAML을 수집

<Style.Triggers> 

    <MultiDataTrigger> 
    <MultiDataTrigger.Conditions> 
     <Condition Binding="{Binding Path=Errors, Converter={StaticResource ErrorsCountConverter}}"> 
     <Condition.Value>True</Condition.Value> 
     </Condition> 
     <Condition Binding="{Binding Path=Errors[0].HasError}" Value="True" /> 
    </MultiDataTrigger.Conditions> 
    <Setter Property="Background" Value="Red" /> 
    </MultiDataTrigger> 

</Style.Triggers> 

오류가 ObservableCollection<BrokenRule>이다. BrokenRule에는 HasError라는 속성이 있습니다. 이제 HasError 속성에 바인딩하려고하지만 XAML에서이를 참조하는 방법을 모르겠습니다.

+0

XAML이 올바른 것처럼 보입니다. 인덱서 구문을 사용하여 컬렉션의 첫 번째 BrokenRule을 가져올 수 있습니다. 그러면 .HasError가 해당 BrokenRule의 HasError 속성으로 이동합니다. 당신이보고있는 문제가 뭐죠? 출력 창에 표시되는 데이터 바인딩 오류는 무엇입니까? – itowlson

+0

Errors 컬렉션에는 전체 ViewModel에 대한 손상된 규칙이 포함됩니다. 인덱서 구문을 설명 할 수 있습니까? 내가 사용 했어. 오류가 있지만 그때 아무것도 표시되지 않았다. – azamsharp

+0

BTW 오류가 표시되지 않습니다. 오류는 전체보기 모델에 대한 깨진 규칙을 포함하는 목록 입니다. – azamsharp

답변

2

컬렉션의 현재 항목에 액세스하기위한 상대적으로 알려지지 않은 슬래시 구문이 있습니다. 따라서 데이터 소스의 현재 항목에 바인딩하려는 경우 "{Binding Path=/}"을 사용하면 자동으로 Errors 컬렉션을 증가시키고 이에 따라 HasError를 응답하도록 지정하므로 "{Binding Path=Errors/HasError}"과 같은 것을 사용하여 HasErrors를 얻을 수 있어야합니다. 속성에 현재 항목의 오류.

희망 하시겠습니까?