C#とXAMLを使用してUWPアプリケーションを開発しています。スタイルデータがトリガーとプロジェクトでは、私はいくつかのパスのアイコンが、私は親コントロールがポインタオーバーを持っている場合、このアイコンは色を変更したいResouce辞書を持って、私は、WPFアプリでこれを作った:UWPのパスバインディングの親ステートにスタイルトリガーを設定する方法XAML
<Style.Triggers>
<DataTrigger Binding="{Binding IsPressed, RelativeSource={RelativeSource AncestorType={x:Type Button}, Mode=FindAncestor}}" Value="True">
<Setter Property="Fill" Value="White"/>
</DataTrigger>
</Style.Triggers>
しかし、UWPで、私はこれがdiferent作品を知っているが、私は私が最初にパススタイル作成しようとしたことを把握することはできません。私はそれが親の状態ではない、この実際の状態をバインドするのを必要とするので、これは正しくありません知っている
<Style TargetType="Path">
<Setter Property="VisualStateManager.VisualStateGroups">
<Setter.Value>
<VisualStateGroup>
<VisualState x:Name="PointerOver">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Fill" Storyboard.TargetName="RootGrid">
<DiscreteObjectKeyFrame KeyTime="0" Value="#F2B71E"/>
</ObjectAnimationUsingKeyFrames>
<PointerUpThemeAnimation Storyboard.TargetName="RootGrid"/>
</Storyboard>
</VisualState>
</VisualStateGroup>
</Setter.Value>
</Setter>
</Style>
を、それだけではなく、これは私にエラーを与えます:
The property "VisualStateGroups" does not have an accessible setter.
は、だから私は、パスの内側に、この方法でそれを設定するために選んだ:
<Path x:Key="printIcon" Width="44" Height="43" Canvas.Left="16" Canvas.Top="17" Stretch="Fill" Data="F1 M 25,27L 25,17L 51,17L 51,27L 47,27L 47,21L 29,21L 29,27L 25,27 Z M 16,28L 60,28L 60,51L 51,51L 51,60L 25,60L 25,51L 16,51L 16,28 Z M 55,46L 55,33L 21,33L 21,46L 55,46 Z M 25,44L 25,39L 51,39L 51,44L 25,44 Z ">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup>
<VisualState x:Name="PointerOver">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Fill" Storyboard.TargetName="RootGrid">
<DiscreteObjectKeyFrame KeyTime="0" Value="#F2B71E"/>
</ObjectAnimationUsingKeyFrames>
<PointerUpThemeAnimation Storyboard.TargetName="RootGrid"/>
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
</Path>
しかし、今、私はどのように達成することができ、だから私は、私は失われたと思う
The name "PointerOver" is already defined in this scope.
And this don't fix the binding with the parent state
を扱っています親の状態で塗りつぶしの色やパスを変更しますか?
親は常にボタンになりますか? –
この場合はい –