XAML - 绑定到 DataContext 并使用转换器?
Posted
技术标签:
【中文标题】XAML - 绑定到 DataContext 并使用转换器?【英文标题】:XAML - Binding to DataContext and using converter? 【发布时间】:2010-11-23 06:01:09 【问题描述】:要绑定到 XAML 中的当前 DataContext,您可以使用:
<TextBlock Text="Binding" />
您如何在混合中使用转换器来做到这一点? 当您在路径上有属性时,以下方法有效:
<TextBlock Text="Binding MyProperty,Converter=StaticResource converter" />
但我不想那样做;如果您明白我的意思,我只想绑定到 datacontext 而不是 datacontext.MyProperty。
【问题讨论】:
【参考方案1】:直接省略路径:
<TextBlock Text="Binding Converter=StaticResource converter" />
啊,等等 - 我注意到您的问题被标记为 Silverlight。这在 Silverlight 中不起作用吗?如果没有,您可能需要使用扩展语法:
<TextBlock>
<TextBlock.Text>
<Binding Converter="StaticResource converter" />
</TextBlock.Text>
</TextBlock>
【讨论】:
叹息,就这么简单。我把逗号留在了那里,打破了它。第一个成功了 非常好 - 我对 Silverlight 不太了解。有时,在 WPF 中看起来非常基本的东西在 Silverlight 中完全不存在。 呵呵,我刚刚做了同样的事情。在一个愚蠢的逗号上浪费了 20 分钟。感谢上帝的 Stack Overflow。【参考方案2】:点号还为 SL 开发者提供 DataContext Binding
<TextBlock Text="Binding Path=.,Converter=StaticResource converter" />
【讨论】:
以上是关于XAML - 绑定到 DataContext 并使用转换器?的主要内容,如果未能解决你的问题,请参考以下文章
如何在不创建 ViewModel 对象的情况下指定 DataContext (ViewModel) 类型以在 XAML 编辑器中进行设计时绑定检查? [复制]
在此示例中,在 XAML 中使用 DataContext 和代码背后有啥区别?
C# WPF 数据绑定DataContext;Window_Loaded时进行过数据绑定,指定DataContext;触发另一事件?