リソースディクショナリにあるパスのスタイル(具体的にはDataプロパティ)を再利用する方法を理解しようとしています。
これが私の問題です:
ResourceDictionary.xaml
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Style TargetType="Path" x:Key="FlashOn">
<Setter Property="Data">
<Setter.Value>
F1M376.251,632.755L385.665,632.755 381.302,646.07 394.618,646.07 389.11,660.302 393.01,660.302 381.531,672.93 377.398,660.763 381.073,660.763 383.829,652.268 369.825,652.268 376.251,632.755z
</Setter.Value>
</Setter>
<Setter Property="Fill" Value="#FFFFFF"></Setter>
<Setter Property="Stretch" Value="Fill"></Setter>
<Setter Property="Height" Value="25"></Setter>
<Setter Property="Width" Value="25"></Setter>
</Style>
</ResourceDictionary>
そして、このようなページでそれを使おうとしています:
<Path Style="{StaticResource FlashOn}"/>
またはこのように
System.Windows.Shapes.Path p = new System.Windows.Shapes.Path();
p.Style = Application.Current.Resources["FlashOn"] as Style;
初めてページを読み込んだとき、形状は完全に表示されますが、戻ってそのページに戻ると、情報がまったくないデータを除いて、すべてのスタイルが使用可能です。したがって、Dataプロパティを除くすべてのプロパティをカスタムシェイプにスタイル設定できます。
**注意してください。スタイルがインラインの場合、すべてが機能します。アプリで同じパスを複数回使用する場合は、コードを繰り返したくありません。
<Path Width="25" Height="25" Stretch="Fill" Fill="#FFFFFF" Data="F1M376.251,632.755L385.665,632.755 381.302,646.07 394.618,646.07 389.11,660.302 393.01,660.302 381.531,672.93 377.398,660.763 381.073,660.763 383.829,652.268 369.825,652.268 376.251,632.755z" />