6

我参与了一个大型 Silverlight 4 项目的开发,其中我们将有一组符号,应该在 GUI 的不同部分使用(参见下面的示例)。

这些图标直接在 Blend 中由多条路径制成,可以单独使用,也可以作为用户控件中的不同视觉状态使用(在多个上下文中使用相同的图标)。为了便于更改单个图标的设计并使其在整个应用程序中传播,存储这些图标的最佳方式是什么?

我尝试从它们创建样式(右键单击-> 编辑样式..),但这仅允许我创建一个空样式,没有任何路径数据。手动将包含路径的网格的 xaml 代码放入字典也没有帮助,我错过了什么?

如何以简单的方式保存路径和样式(颜色、笔触、填充等)信息,最好保存在资源字典中,以便我可以轻松地在用户控件和其他地方重用它们,同时保持轻松更新?

我尝试重用的图标示例:

在此处输入图像描述

4

1 回答 1

8
<Style x:Key="MyIcon" TargetType="ContentControl">
        <Setter Property="ContentTemplate">
            <Setter.Value>
                <DataTemplate>
                    <Path Stretch="Fill" Fill="Red" Data="F1 M 24,13C 27.1521,13 29.9945,14.3258 32,16.4501L 32,11L 35,14L 35,22L 27,22L 24,19L 29.5903,19C 28.217,17.4656 26.2212,16.5 24,16.5C 20.1969,16.5 17.055,19.3306 16.5661,23L 13.0448,23C 13.5501,17.3935 18.262,13 24,13 Z M 24,31.5C 27.8031,31.5 30.945,28.6694 31.4339,25L 34.9552,25C 34.4499,30.6065 29.738,35 24,35C 20.8479,35 18.0055,33.6742 16,31.5499L 16,37L 13,34L 13,26L 21,26L 24,29L 18.4097,29C 19.783,30.5344 21.7787,31.5 24,31.5 Z "/>
                </DataTemplate>
            </Setter.Value>
        </Setter>
    </Style>

然后将 style 与 contentcontrol 类型(或派生类)一起使用:

<ContentControl Style="{StaticResource MyIcon}" Width="20" Height="20" Grid.Row="0"/>

所有样式都可以在一些资源字典中:这是一篇内容丰富的文章:http: //blogs.infosupport.com/tips-for-effective-usage-of-resource-dictionaries-in-silverlight-and-wpf/

于 2012-01-12T16:20:51.070 回答