首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从DynamicResource返回ViewModel引用

从DynamicResource返回ViewModel引用
EN

Stack Overflow用户
提问于 2022-10-30 17:59:34
回答 1查看 29关注 0票数 0

我的应用程序支持多种语言,这些语言存储在资源字典中,所以修改它只是加载正确的资源,不需要重新启动。

在一个窗口中,我需要根据ViewModel状态显示一些文本。我不是有多个TextBlock元素和切换可见性,而是尝试直接从我的ViewModel返回DynamicResource

我尝试创建一个返回DynamicResourceExtension的属性,但它不起作用,因为返回的文本是类的名称,而不是实际的资源。

代码语言:javascript
复制
public DynamicResourceExtension TextResource
{
    get => return new DynamicResourceExtension("String.TextResource");
}
代码语言:javascript
复制
<TextBlock Text="{Binding TextResource, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}"/>

我还尝试返回一个字符串并直接设置为DynamicResource,但它也没有工作。

代码语言:javascript
复制
<TextBlock Text="{DynamicResource {Binding TextResourceKey, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}}"/>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-31 14:14:18

不可能从视图模型返回资源名称,并使用纯XAML标记解析资源。

视图模型应该返回直接绑定到的已解析的string值,或者必须在视图中编写一些代码,以编程方式解析返回的资源名称的值。

在XAML中不可能将“绑定”绑定到DynamicResource标记扩展的资源键。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74255476

复制
相关文章

相似问题

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