<MenuItem.Icon > <TextBlock Text=“” Foreground=“red” FontFamily=“/MIPTheme.Resources;component/Fonts/#iconfont”/> </MenuItem.Icon>写成一个样式统一
时间: 2024-10-13 15:11:21 浏览: 25
这个XAML片段定义了一个`<MenuItem>`的图标,它使用了一个特定的字符“{\}”作为图标,并设置了红色的前景色(Foreground)以及从`/MIPTheme.Resources;component/Fonts/#iconfont`这个路径获取的字体家族。为了使样式更统一,我们可以将其封装到一个自定义的Style中:
首先,创建一个新的XAML Style,命名为`StandardMenuItemIcon`,内容如下:
```xml
<Style TargetType="MenuItem">
<Setter Property="Icon">
<Setter.Value>
<TextBlock TextAlignment="Center" Margin="2">
<Run Text="{DynamicResource FontAwesomeChar}"
Foreground="{StaticResource MenuItemIconColor}"
FontFamily="{StaticResource FontAwesomeFontFamily}" />
</TextBlock>
</Setter.Value>
</Setter>
<Setter Property="FontSize" Value="{StaticResource MenuItemFontSize}" />
<Setter Property="Cursor" Value="HandPointer" />
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Foreground" Value="{StaticResource MenuItemHoverColor}" />
</Trigger>
</Style.Triggers>
</Style>
```
这里假设你有一个名为`FontAwesomeChar`的动态资源,它对应于你要使用的图标(如"{\}"),另外还需要设置一些颜色和字体资源,如`MenuItemIconColor`、`FontAwesomeIconFamily`和`MenuItemFontSize`。
然后在需要应用此样式的部分,直接引用这个新的`StandardMenuItemIcon`即可:
```xml
<MenuItem Style="{StaticResource StandardMenuItemIcon}"
Header="添加Core"
Icon="">
<!-- 其他属性如Foreground和FontFamily等,现在都可以通过StaticResource指定 -->
</MenuItem>
```
这样就实现了样式的统一管理。
阅读全文