代码之家  ›  专栏  ›  技术社区  ›  Jens

在XAML中使用什么构造来实现可重用、可回忆的图标?

  •  1
  • Jens  · 技术社区  · 14 年前

    我正在设计一个小的基于WPF的应用程序,我想在XAML中定义一些常用的向量图标,这些图标可以在一个视图上的多个控件中使用,并且可以通过绑定进行恢复。

    目前,我正在使用基于GeometryBrush的绘图画笔,该画笔随后用于填充矩形,但在这里我看不到共享颜色的方法。

    有什么方法可以达到这种效果(最好是刺激和容易)?=)

    3 回复  |  直到 14 年前
        1
  •  3
  •   mdm20    14 年前

    <Style x:Key="PathStyle" TargetType="{x:Type Path}">
        <Setter Property="Data" Value="M0,0 L100,0 L100,100 L0,100Z" />
    </Style>
    

    然后根据需要更改路径的颜色。

    <Path Style="{StaticResource PathStyle}" Stroke="Green" Fill="Blue" HorizontalAlignment="Left" />
    
    <Path Style="{StaticResource PathStyle}" Stroke="Purple" Fill="Orange" HorizontalAlignment="Right" />
    
        2
  •  2
  •   John Bowen    14 年前

    可以将几何体定义为资源,然后在路径中使用该资源,该路径可以执行您希望设置的填充和笔划颜色。

    <Geometry x:Key="MagnifyingGlassGeometry">M 64,9C 81.67,9 96,23.3 96,41C 96,58.67 81.67,73 64,73C 46.3,73 32,58.67 32,41C 32,23.3 46.3,9 64,9 Z M 39,66L 6.5,98.5</Geometry>
    
    <Path Data="{StaticResource MagnifyingGlassGeometry}" Fill="{DynamicResource MyBrush}" Stroke="{Binding DataBrush}"/>
    
        3
  •  0
  •   Dan Puzey    14 年前

    Fill="Blue"

    ...
    <Path.Fill>
       <SolidColorBrush>
           <SolidColorBrush.Color>
               <Color>Red</Color>
           </SolidColorBrush.Color>
       </SolidColorBrush>
    </Path.Fill>
    

    所以你也可以使用这样的资源:

    <Page.Resources>
       <Color x:Key="FillColor">Red</Color>
       <SolidColorBrush x:Key="FillBrush" Color="{StaticResource FillColor}" />
    </Page.Resources>
    
    <Path Fill="{StaticResource FillBrush}" ..... />