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 并使用转换器?的主要内容,如果未能解决你的问题,请参考以下文章