私はこのようなアイコンを表示する必要があります。ボタン以外のコントロールでは、ストロークまたは塗りつぶしを定義せずにWPFジオメトリアイコンを表示できますか?
<Geometry x:Key="Geometry.LeftArrow">M 6.5 0.5 L 7.5 1 L 7.5 0 L 6.5 0.5 z</Geometry>
私はボタンに入れた場合、彼らは[OK]をしています。しかし、私は他の多くの場所でそれらを表示する必要がありますが、表示されていません。 Stroke/Fillの定義に役立つことがありますが、これは間違っています。テーマ/スタイルが変更されたときにハードコーディングされ、馬鹿に見える色を作りたいとは思わない。
これは動作します:
<Button>
<Path Data="{StaticResource Geometry.LeftArrow}" Stretch="Uniform" MaxHeight="12"/>
</Button>
これにはない:
<Label>
<Path Data="{StaticResource Geometry.LeftArrow}" Stretch="Uniform" MaxHeight="12"/>
</Label>
ので、ロジックはここで何で、どのように私はちょうど彼らがのは、いくつかのテキストボックスの隣に言わせて表示していますができますか?
私はこれを試しましたが、Pathはデフォルトの塗りつぶしやストロークをButtonに入れませんでした。私の解決策は、Fill(またはStrokeのいずれか)を['{DynamicResource {x:Static SystemColors.ControlTextBrushKey}} 'に設定するデフォルトのPath Styleを定義することです(https://msdn.microsoft.com/en-us/)ライブラリ/ system.windows.systemcolors.controltextbrushkey(v = vs.110).aspx)。うまく設計されたテーマでは、これらのSystemColorsブラシキーを使用する必要があります。テーマがうまく設計されていない場合は、適切なテーマリソースにSystemColorsのブラシキーを定義するいくつかの "shim"リソース定義を追加できます。 –
ありがとう! OK。私はこれがWPFのものだと思った。私は、スタイルとアイコンの人々からButtonに設定する必要がない理由を見つけなければなりません。また、あなたが提案したようにスタイルを作成することもできます。 –
これを実現する方法の1つは、 'Button'のデフォルトスタイルの' Style.Resources'セクションで 'Path'のデフォルトスタイルを持つことです。あなたがスタイルとアイコンの人々を持っているなら、私はあなたを羨ましく思います、そして、確かにこれについて彼らに話してください。 –