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>

どなたか助けてください

4

2 に答える 2

0

Property="Rectangle.Fill" の代わりに Property="Fill" を使用するようにセッターを変更してみてください。

于 2013-02-07T02:41:08.443 に答える
0

データ トリガーをページまたはビューのリソースに移動します。発火している可能性はあると思いますが、Value="{DynamicResource IconRankSecondary}" のバインディングで DynamicResource が見つからない可能性があります。

デバッグ モードで実行し、バインディングの失敗を示すデバッグ出力を見て、データ バインディングの問題を確認します。

于 2013-02-07T03:10:46.400 に答える