我需要顯示的圖標是這樣的:除了Button之外,哪些控件可以顯示WPF幾何圖標而不用定義Stroke或Fill?
<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>
如果我把它們放在按鈕還可以吧。不過,我需要在其他許多地方展示他們,但他們沒有顯示。有時候定義Stroke/Fill會有幫助,但這是錯誤的。當主題/樣式改變時,我不想編制一些硬編碼和看起來很愚蠢的顏色。
這工作:
<Button>
<Path Data="{StaticResource Geometry.LeftArrow}" Stretch="Uniform" MaxHeight="12"/>
</Button>
這不:
<Label>
<Path Data="{StaticResource Geometry.LeftArrow}" Stretch="Uniform" MaxHeight="12"/>
</Label>
那麼這裏的邏輯和如何我剛纔告訴他們讓我們說未來的一些文本框?
我試過這個,並沒有得到一個按鈕的默認填充或描邊。我的解決方案是定義一個默認的路徑樣式,將Fill(或Stroke,無論哪個)設置爲['{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}](https://msdn.microsoft.com/en-us/庫/ system.windows.systemcolors.controltextbrushkey(v = vs.110)的.aspx)。精心設計的主題應該使用這些SystemColors刷子鍵。如果主題設計不合理,則可以添加一些「填充」資源定義,這些定義將SystemColors畫筆鍵定義到適當的主題資源。 –
謝謝!好。我認爲這是一些WPF的事情。我必須從樣式和圖標人員中找出爲什麼我不需要將它們設置爲Button,並且可以按照您的建議創建樣式。 –
實現此目的的一種方法是在'Button'的默認樣式的'Style.Resources'部分爲'Path'設置默認樣式。如果你有風格和圖標的人,我羨慕你,是的,肯定與他們談論這件事。 –