我在UWP应用的Resources.resw
文件中有一个名为info_278
的资源条目。我有3个场景需要使用此资源,但看起来我需要复制此资源以满足不同的场景。场景如下。
1.代码中的错误消息内容var displayErrorOnPopup = ResourceHandler.Get("info_278");
1.来自XAML的TextBlock文字属性(看起来像是info_278.Text所需的新项目)<TextBlock x:Uid="info_278" Margin="10,0,0,0" />
1.来自XAML的按钮内容属性(看起来像是需要新的项目,如info_278.Content)<Button x:Uid="info_278" Margin="10,0,0,0" />
如何在不复制.resw
文件中的此资源的情况下继续?
3条答案
按热度按时间z8dt9xmd1#
避免重复的唯一方法是使用ResourceLoader在代码隐藏中设置字符串值。因为您可以直接访问目标控件的特定属性。如下所示:
如果您不打算在后面的代码中这样做,那么我不得不说,没有办法避免资源字符串的重复。您应该为不同的XAML场景添加info_278.Text和info_278.Content。
hc2pp10m2#
你可以创建一个标记扩展。我已经在WinUI 3中使用了这个,但是应该也可以在UWP中使用。
然后在XAML中:
n3schb8v3#
Button
的Content
可以是TextBlock
: