我下載了Visual Studio Image Library,我看到包含的圖標以.XAML文件的形式可用於矢量格式。這裏有一個例子:將單獨的XAML導入爲ResourceDictionary並指定x:Key
Add_16x.xaml
<!-- This file was generated by the AiToXaml tool.-->
<!-- Tool Version: 14.0.22307.0 -->
<Viewbox Width="16" Height="16" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<Rectangle Width="16" Height="16">
<Rectangle.Fill>
<DrawingBrush>
<DrawingBrush.Drawing>
<DrawingGroup>
<DrawingGroup.Children>
<GeometryDrawing Brush="#00FFFFFF" Geometry="F1M16,16L0,16 0,0 16,0z" />
<GeometryDrawing Brush="#FFF6F6F6" Geometry="F1M5.0004,-0.000199999999999534L5.0004,4.9998 0.000399999999999956,4.9998 0.000399999999999956,10.9998 5.0004,10.9998 5.0004,15.9998 10.9994,15.9998 10.9994,10.9998 16.0004,10.9998 16.0004,4.9998 10.9994,4.9998 10.9994,-0.000199999999999534z" />
<GeometryDrawing Brush="#FF388A34" Geometry="F1M10,6L15,6 15,10 10,10 10,15 6,15 6,10 1,10 1,6 6,6 6,1 10,1z" />
</DrawingGroup.Children>
</DrawingGroup>
</DrawingBrush.Drawing>
</DrawingBrush>
</Rectangle.Fill>
</Rectangle>
</Viewbox>
我希望把所有的圖標XAML文件我想在我的應用程序源使用一個名爲「圖標」,然後文件夾中能有一個名爲IconDictionary.xaml
的文件,它定義了一個ResourceDictionary
,它擁有MergedDictionaries
,在這個MergedDictionaries
裏面,我希望能夠以某種方式包含icon.xaml文件併爲它們分配一個x:Key
屬性,這樣我可以在整個應用程序中將它們作爲靜態資源引用。
是否可以在不修改.xaml文件本身的情況下使用此icon.xaml文件?
我希望能夠剛剛離開他們,因爲他們是可惜好像我別無選擇,只能要麼複製它們的內容到我的IconDictionary.xaml
或編輯單個的.xaml文件,並圍繞他們在一個ResourceDictionary
與x:Key
,我可以添加到我的MergedDictionaries
。
UPDATE
這裏是我想什麼我IconDictionary.xaml看起來像爲清楚:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<DataTemplate x:Key="Add_16x">
<!-- Import Viewbox from Add_16x.xaml here... -->
</DataTemplate>
</ResourceDictionary>
在看到替代品並不那麼友好之後,我最喜歡這個解決方案。我可以直接向'DrawingGroup'添加一個'x:Key',或者如果我想將它放在我的'ResourceDictionary'中,是否需要將它包裝在某些東西中? –
您不僅可以將'x:Key'屬性添加到'DrawingGroup',如果您希望'DrawingGroup'對象被字典直接包含,您將被要求。更一般地說:你可以在ResourceDictionary集合中聲明一個_any_類型的對象,前提是對象有一個無參數的構造函數,並且ResourceDictionary的每個元素都需要有一個'x:Key'屬性。 –
這也適用於僅包含「路徑」對象的XAML圖標嗎? –