私は私を怒らせている問題を抱えています、そして私はただ解決策を見つけることができないようです。
私はリストビューを持っています。そのlistivewItemTemplateは、次のようなデータテンプレートです。
<DataTemplate x:Key="template" >
<TextBlock Foreground="Green" >
<Hyperlink Command="{Binding LoadReportCommand}"
CommandParameter="{Binding DisplayName}" >
<TextBlock Text="{Binding DisplayName}" />
</Hyperlink>
</TextBlock>
</DataTemplate>
ハイパーリンクのスタイルは次のとおりです。
<Style x:Key="{x:Type Hyperlink}" TargetType="{x:Type Hyperlink}">
<Setter Property="Foreground" Value="Green" />
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListViewItem}}, Path=IsSelected}" Value="True" />
<Condition Binding="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListViewItem}}, Path=Selector.IsSelectionActive}" Value="True" />
</MultiDataTrigger.Conditions>
<Setter Property="Foreground" Value="White"/>
</MultiDataTrigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}" />
</Trigger>
</Style.Triggers>
</Style>
そのまま使用すると、アイテム選択時のように前景が白くなりません。コマンドが期待どおりに有効になっていない場合は、前景が灰色になります。Selector.IsSelectionActiveの条件を削除すると、アイテムが選択されているときに前景が白になりますが、アイテムが選択されているがアクティブでない場合も白になります。非アクティブな選択を緑にします。平面のTextblock、非常に基本的なスタイルのボタンだけでもこれを試しました...何も機能していないようです。
リストビューは、別のユーザーコントロールで使用されているユーザーコントロールにあります。Datatemplateは2番目のユーザーコントロールのresourcedictionaryにあり、タイプDataTemplateの最初のユーザーコントロールの依存関係プロパティにバインドされており、ハイパーリンクのスタイルは別のResourcedictionaryにあります。
どんな助けでも大歓迎です