如何在Xaml文件中引用resx资源

如何在Xaml文件中引用Resources.resx文件中的内容呢?做wpf开发的估计都会碰到这个问题。

其中,最直接的办法就是修改Resource.resx文件的属性。Resource.resx有一个Custom Tool属性,这个属性指定了一个tool,默认是ResXFileCodeGenerator,当我们修改了Resources.resx文件后保存的时候,这个tool就会自动运行,生成这个internalResources类。如果想在Xaml文件中用Resource.resx文件的内容,首先把Custom Tool属性的值改为:

PublicResXFileCodeGenerator,这样生成的资源类就是public的。

如下图:

然后,在Xaml文件中,就可以通过x:Static引用资源文件中的字符串。

<UserControl x:Class="HAManager.ControlCenter.MainControl"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:res="clr-namespace:HAManager.Properties"
             mc:Ignorable="d"
             d:DesignHeight="300" d:DesignWidth="300">
    <Grid>
        <Menu Height="23" HorizontalAlignment="Left" Name="menu1" VerticalAlignment="Top" Width="auto" >
            <MenuItem Header="{x:Static res:Resources.ControlCenterSystem}"></MenuItem>
            <MenuItem Header="menu2"></MenuItem>
            <MenuItem Header="menu3"></MenuItem>
            <MenuItem Header="menu4"></MenuItem>
            <MenuItem Header="menu5"></MenuItem>
        </Menu>
        <ToolBar Height="21" HorizontalAlignment="Left" Margin="0,29,0,0" Name="toolBar1" VerticalAlignment="Top" Width="233" />
    </Grid>
</UserControl>


注意看灰色背景的代码

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值