假设我有一个带有资源键GroupBoxHeaderCaption
和值“SomeString”的 .resx 文件。
然后在我的ViewModel中有一个string
名为Description
.
我想要实现的是这个(假设 .resx 文件被引用using resx = [...]
并且视图模型被调用viewModel
):
string.Format("{0}: {1}", resx.GroupBoxHeaderCaption, viewModel.Description)
是否可以在 XAML 中执行此操作?我得到了这个,但它不起作用:
<GroupBox Margin="4">
<GroupBox.HeaderTemplate>
<DataTemplate>
<Label>
<Label.Content>
<MultiBinding StringFormat="{}{0}: {1}">
<Binding Path="{x:Static my:MyResources.GroupBoxHeaderCaption}" />
<Binding Path="viewModel.Description" />
</MultiBinding>
</Label.Content>
</Label>
</DataTemplate>
</GroupBox.HeaderTemplate>
通过不工作,我的意思是我得到GroupBoxHeaderCaption
红色下划线,并显示错误:
无效的成员类型:预期类型为“PropertyPath”,实际类型为“字符串”。
我知道我可以为我viewModel.Description
的 .
当我这样做时,我得到了想要的结果:
<GroupBox Margin="4" Header="{Binding viewModel.Description}"
HeaderStringFormat="SomeString: {0}">
我想从 .resx 文件中获取“SomeString:”部分。