Wpf Stringformat连接数据绑定和资源';s值

Wpf Stringformat连接数据绑定和资源';s值,wpf,binding,concatenation,string-formatting,staticresource,Wpf,Binding,Concatenation,String Formatting,Staticresource,我想在窗口标题中连接来自viewmodel的属性和来自资源文件的值。 这就是我在没有参考资料中的字符串的情况下所做的工作: Title="Binding Path=Description, StringFormat=Building: {0}}" 现在,我想删除“Building”字符串,并从资源中输入一个值,就像我在其他地方使用的一样: xmlns:res="clr-namespace:Project.View.Resources" {res:Strings.TitleDescription

我想在窗口标题中连接来自viewmodel的属性和来自资源文件的值。 这就是我在没有参考资料中的字符串的情况下所做的工作:

Title="Binding Path=Description, StringFormat=Building: {0}}"
现在,我想删除“Building”字符串,并从资源中输入一个值,就像我在其他地方使用的一样:

xmlns:res="clr-namespace:Project.View.Resources"
{res:Strings.TitleDescription}

我如何定义两者?我可以像{1}参数那样定义吗?

是的,可以。只需使用

关于的MSDN文章有一个例子

在您的情况下,代码如下所示:

  <TextBlock>
    <TextBlock.Text>
      <MultiBinding  StringFormat="{}{0} {1}">
        <Binding Source="{x:Static res:Strings.TitleDescription}"/>
        <Binding Path="Description"/>
      </MultiBinding>
    </TextBlock.Text>
  </TextBlock>

我已经在好几个地方看到了
多重绑定的答案,而且几乎没有必要使用它。您可以将资源定义为字符串格式,只要只有一个字符串格式参数,就不需要
MultiBinding
。使代码更加简洁:

<TextBlock Text="{Binding Description, StringFormat={x:Static res:Strings.TitleDesc}}" />


而且
标题esc
资源显然是
“Building:{0}”

多绑定到静态资源?从未听说过:SI可能误解了,你所说的“静态资源”是什么意思?它是一个类的静态属性吗?如果是这样的话,我相信在.NET4.5中对绑定的支持是新的,我已经更新了这个问题。我想使用.resx资源中的值。我不认为我可以用绑定实现这一点……我更改了Rachel添加的示例,以显示在您的案例中代码的外观。请包含“res”的xmlns,我不确定它应该是什么样子。请投票支持这个答案。比使用多绑定hanks要简单得多,我犯了一个错误,在参考资料中用
{}
作为字符串的前缀。我还想要
\\Path\{0}
这样的东西,所以我最后把
\\\\Path\{0}
放进.resx文件中,这正是我想要的摆脱反斜杠所需要的。您还可以将资源添加为FallbackValue,使其显示在设计器中。