2013-02-07 59 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”

0

将数据触发器移动到页面或视图的资源中。我相信它可能会触发,但Value =“{DynamicResource IconRankSecondary}”的绑定可能无法找到DynamicResource。

通过在调试模式下运行并查看指定绑定失败的调试输出来验证数据绑定问题。

+0

关于第一个DataTrigger我想用蓝色填充矩形....即使这也没有发生..它与DynamicResource的东西没有关系。 –

+0

@NavneetDuggal在上面的文本框中,暂时将文本绑定到Rank并查看它是否显示您期望的内容。 – OmegaMan

+0

你是对的...绑定文本到Rank不显示任何东西,我试图相对来源也到ItemControl的ItemsControl的ItemsSource,但仍然没有显示 –