首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从资源中获取字符串以在xaml中的WPF资源节中赋值

如何从资源中获取字符串以在xaml中的WPF资源节中赋值
EN

Stack Overflow用户
提问于 2009-03-20 11:33:14
回答 6查看 48.5K关注 0票数 13

我有一个具有以下用户控件的XBAP应用程序:

代码语言:javascript
复制
  <UserControl x:Class="XXX.UsersGrid"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Height="Auto" Width="Auto">

        <UserControl.Resources>
            <DataTemplate x:Key="UpArrowUsers">
                <DockPanel>
                    <TextBlock Text="xxUser" x:Name="upArrowUsersHeader" HorizontalAlignment="Center"></TextBlock>
                    <Path x:Name="arrow" StrokeThickness = "1" Fill= "gray" Data= "M 5,10 L 15,10 L 10,5 L 5,10"/>
                </DockPanel>
            </DataTemplate>
    </UserControl>
    ...

现在我想从resx文件中获取字符串"xxUser“,该文件作为资源嵌入到应用程序中,我如何实现这一点?

EN

Stack Overflow用户

发布于 2009-03-20 12:37:41

我不知道这是否可以直接在XAML中完成,但是如果您在ResourceManager周围编写自己的包装器类并使用它。请注意,该类继承自TextBlock:

代码语言:javascript
复制
public class ResourceContentTextBlock : TextBlock
{
    public string ResourceName 
    {
        set
        {
            this.Text = Properties.Resources.ResourceManager.GetString(value);
        }
    }
}

然后,您可以在您的XAML中使用ResourceContentTextBlock,否则就可以使用TextBlock:

代码语言:javascript
复制
<Window x:Class="WpfApplication3.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:client="clr-namespace:WpfApplication3" 
    >
        <client:ResourceContentTextBlock ResourceName="String1" />
</Window>
票数 1
EN
查看全部 6 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/665764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档