在Windows Phone 8应用程序中,我使用图标集。这些图标以不同的大小和颜色多次使用。现在,我只有来自同一图标的多个png文件来涵盖所有这些变体。
他如何处理矢量图像?我的最终目标是将矢量路径存储到例如资源文件,并将其用作“图像源”,在我的视图中而不是在资源文件中设置图像大小和颜色。
可以说我有这样的Canvar:
<Canvas Width="76" Height="76" Clip="F1 M 0,0L 76,0L 76,76L 0,76L 0,0">
<Path Width="23.75" Height="49.4791" Canvas.Left="26.9167" Canvas.Top="13.8542" Stretch="Fill" Fill="#FF000000" Data="F1 M 26.9167,13.8542L 50.6666,13.8542L 50.6667,39.5833L 26.9167,63.3333L 26.9167,13.8542 Z "/>
</Canvas>
如何将其存储到资源并将其用作图像源?
欢迎所有建议和想法如何处理。
更新
基于Chris W的答案,我得出了以下解决方案:
<Style x:Key="Marker" TargetType="ContentControl">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ContentControl">
<Canvas Width="76" Height="76">
<Path Fill="{TemplateBinding Foreground}" Data="m 26.9167 13.8542 23.7499 0 10e-5 25.7291 -23.75 23.75 0 -49.4791 z"></Path>
</Canvas>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<ContentControl Style="{StaticResource Marker}" Foreground="Red" />
可以,我可以重用Mrker样式并设置其填充颜色。缺少的部分是,我应该如何调整canvas / contetnControl的大小?
现在,画布大小为76 * 76,即使我将输出图像更改为相同大小也是如此。我应该如何调整画布的尺寸?
问题的第一部分将是重复的,我认为Illustrator或其他套件也可以做到这一点,但是要回答第二个问题,您可以将其放入ContentControl模板中,例如;
<Style x:Key="ReUsableResource" TargetType="ContentControl">
<Setter Property="Height" Value="49.4791"/>
<Setter Property="Width" Value="23.75"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ContentControl">
<Canvas>
<Path Width="{TemplateBinding Width}" Height="{TemplateBinding Height}" Stretch="Fill" Fill="#FF000000" Data="F1 M 26.9167,13.8542L 50.6666,13.8542L 50.6667,39.5833L 26.9167,63.3333L 26.9167,13.8542 Z "/>
</Canvas>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
然后像这样调用它;
<ContentControl Width="100" Height="50" Style="{StaticResource ReUsableResource}"/>
哦,只是阅读注释,将其从Vector移植到XAML的另一个非常方便的资源是Mike Swanson的Illustrator的XAML导出器插件。
希望这可以帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句