silverlight - XAML 图标 - 如何使用?

标签 silverlight xaml graphics vector-graphics

我有一些 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/

相关文章:

delphi - 当我使用 & 符号时,如何在 GDI+ Graphics.DrawString 中绘制支持下划线字符的字符串?

javascript - 适用于 IE 和其他浏览器的最佳 SVG 图形 javascript 库是什么?

wpf - 用矩形填充面板

c# - 用于 Visual Studio 2012 的银光

silverlight - Windows Phone 7-是否可以在Silverlight中使用其相机?

wpf - 自动调整大小按钮样式

Silverlight 5 无法在某些打印机上打印

wpf - 如果绑定(bind)源为空,如何为图像设置默认源?

c# - 如何将 WMI 集合显示到 WPF DataGrid

database - ArangoDB 图形查看器选项 : Label using more than one attribute