我有一些 XAML 格式的矢量图形文件,我想将它们用作 Silverlight 应用程序中的图标/按钮。
我更喜欢的方法是使用 Image 控件并将其源属性设置为 .xaml 文件,就像我可以使用常规位图图像一样。
但这并不容易,我尝试将它们作为 ControlTemplates 包含在资源字典中,我什至尝试创建一个自定义控件来动态加载 Xaml,但我对结果并不满意,因为我需要将它们包装起来ViewBox 控件允许动态大小等。
所以我的问题是,是否有人对如何最好地使用我的 xaml 图标有任何最佳实践建议?
我可以在需要时复制粘贴 xaml,但我真的不喜欢这种方法。
提前致谢。
最佳答案
杰温德尔,
您应该发布一些 XAML 图标示例以澄清,但任何内容控件,如 按钮 的和 内容控件的,两者都有 内容 , 和 内容模板 特性。一个共享内容模板 示例如下所示:
<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk"
xmlns:toolkit="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit"
>
<UserControl.Resources>
<Style x:Key="MyTriangleIcon" TargetType="ContentControl">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<Grid>
<Polygon Fill="Black" Stroke="Black">
<Polygon.Points>
<Point X="0" Y="100"/>
<Point X="100" Y="0"/>
<Point X="100" Y="100"/>
</Polygon.Points>
</Polygon>
<Polygon Fill="Red" Stroke="Red">
<Polygon.Points>
<Point X="100" Y="0"/>
<Point X="0" Y="100"/>
<Point X="0" Y="0"/>
</Polygon.Points>
</Polygon>
</Grid>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</UserControl.Resources>
<StackPanel Background="White">
<Button Width="120" Height="120" Style="{StaticResource MyTriangleIcon}" />
<Button Width="120" Height="120" Style="{StaticResource MyTriangleIcon}" />
</StackPanel>
</UserControl>
您可以将以上内容粘贴到我的 XamlViewer 以快速查看结果。
祝你好运,
吉姆·麦柯迪
关于silverlight - XAML 图标 - 如何使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4671464/