我的MultiBinding
定义如下:
<MultiBinding StringFormat="{0}_{1}">
<Binding Path="..." />
<Binding Path="..." />
</MultiBinding>
我需要在多个地方使用它,并希望在我的资源中定义它,如:
<MultiBinding x:Name="MyDefaultBinding" StringFormat="...">
<!-- etc -->
</MultiBinding>
但是,我现在无法弄清楚如何使用它。我尝试了StaticResource
之类的:
<TextBlock Text="{StaticResource MyDefaultBinding}"
Style="{StaticResource SomeOtherStyle}" />
这给了我一个编译错误:“无效的资源类型:期望的类型是'string',实际的类型是'MultiBinding'。”。
当我尝试使用Binding
来访问它时:
<TextBlock Text="{Binding Source={StaticResource MyDefaultBinding}}"
Style="{StaticResource SomeOtherStyle}" />
它编译,但在运行时,TextBlock
中的文本设置为“System.Windows.Data.MultiBinding”而不是预期值。
我见过建议将MultiBinding
包装在Style
中的建议,但是我已经在控件上定义了其他共享样式,我需要使用绑定。
我是否可以评估资源中定义的绑定而不将其包装在样式中?