Windows Phone 应用程序 (Silverlight 3)
我有一个文本 block
<TextBlock Text="{Binding Key}" FontSize="40" Foreground="{Binding propertyOnAMainViewModel}" />
TextBlock 的 DataContext 设置为类 Group 实例,该实例公开 Key 属性。
我需要将 TextBlock 的前景属性绑定(bind)到动态(可从代码设置)属性,但在不同的 ViewModel 上,而不是在 Group 上。
是否可以将一个元素上的不同属性绑定(bind)到不同的数据上下文?
最佳答案
你可以这样做,但它不是非常优雅!每个绑定(bind)都有一个 Source,如果未指定,则为控件的 DataContext
.如果在代码隐藏中构造绑定(bind),则可以显式设置源。在 XAML 中,您的唯一选项是默认选项(即 DataContext)或 ElementName
绑定(bind)。
我要做的是创建一个 ViewModel,它公开您希望绑定(bind)到的两个属性,并将其用作您的 DataContext
.
关于data-binding - 绑定(bind)到不同的 dataContexts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7243782/