2013-02-07 2 views
0

XAML 코드가 있습니다. 나는 Datatrigger에 사각형을 채우기 위해 노력하고 있지만이 데이터 트리거가 실행되지 않는 이유

<ItemsControl Grid.Row="1" Grid.Column="1" ItemsSource="{Binding SelectedEnrollments}" Visibility="{Binding EnrollmentsExist, Converter={x:Static s:BooleanToVisibilityConverter.Default}, Mode=TwoWay}"> 
    <ItemsControl.ItemTemplate> 
     <DataTemplate> 
      <RadioButton Tag="{Binding Id}" GroupName="Enrollments" ToolTip="{Binding Title}" Checked="EnrollmentRadioButton_Checked" IsChecked="{Binding IsSelected}"> 
       <RadioButton.ContentTemplate> 
        <DataTemplate> 
         <StackPanel Orientation="Horizontal"> 

          <TextBlock TextTrimming="CharacterEllipsis" 
             Text="{Binding ToolTip, RelativeSource={RelativeSource FindAncestor, AncestorType=RadioButton}}" /> 
          <Rectangle x:Name="RankIcon" Width="30"> 
           <Rectangle.Style> 
            <Style> 
             <Style.Triggers> 
              <DataTrigger Binding="{Binding Rank}" Value="Primary"> 
               <Setter Property="Rectangle.Fill" Value="Blue"></Setter> 
              </DataTrigger> 
              <DataTrigger Binding="{Binding Rank}" Value="Secondary"> 
               <Setter Property="Rectangle.Fill" Value="{DynamicResource IconRankSecondary}"></Setter> 
              </DataTrigger> 
             </Style.Triggers> 
            </Style> 
           </Rectangle.Style> 
          </Rectangle> 
         </StackPanel> 
         <DataTemplate.Triggers> 

         </DataTemplate.Triggers> 
        </DataTemplate> 
       </RadioButton.ContentTemplate> 
      </RadioButton> 
     </DataTemplate> 
    </ItemsControl.ItemTemplate> 
</ItemsControl> 

이 도와주세요 발사하지 anypne

+0

'Rank' 속성이 'PropertyChangedEvent'를 실행합니까? –

+0

예 화재 발생 Propertychanged 이벤트 –

답변

0

그들이 부동산은 = 대신 재산 = "Rectangle.Fill"

"을 기입"을 사용할 수 있도록 setter를 변경해보십시오
0

데이터 트리거를 페이지 또는보기의 리소스로 이동하십시오. 나는 그것이 발사일지도 모르지만 Value = "{DynamicResource IconRankSecondary}"에 대한 바인딩은 DynamicResource를 찾지 못할 수도 있습니다.

데이터 바인딩 문제를 디버그 모드에서 실행하고 바인딩 실패를 지정하는 디버그 출력을 확인합니다.

+0

첫 번째 DataTrigger에서 파란색으로 사각형을 채우려 고합니다 .... 심지어 그런 일도 일어나지 않습니다. DynamicResource와 관련이 없습니다. –

+0

@NavneetDuggal 위의 텍스트 상자에 일시적으로 텍스트를 Rank에 바인딩하고 예상 한 내용이 표시되는지 확인합니다. – OmegaMan

+0

당신은 맞습니다 ... Rank에 바인딩 텍스트가 아무것도 표시되지 않습니다. ItemsSource의 ItemSource에 도착하기 위해 상대 소스도 시도했지만 아무 것도 표시되지 않습니다. –

관련 문제