XAML - 如何绑定到DataContext并使用转换器?

17

要在XAML中绑定到当前数据上下文,您可以使用:

<TextBlock Text="{Binding}" />

请问如何在使用转换器的情况下实现这个功能?以下代码可以用于包含属性的路径:

<TextBlock Text="{Binding MyProperty,Converter={StaticResource converter}}" /> 

但我不想这样做;我只想绑定到数据上下文,而不是数据上下文的MyProperty,如果你明白我的意思。

2个回答

34

只需省略路径:

<TextBlock Text="{Binding Converter={StaticResource converter}}" />

等一下,我注意到你的问题标记有Silverlight。这个在Silverlight中无法工作吗?如果是这样,你可能需要使用扩展语法:

<TextBlock>
    <TextBlock.Text>
        <Binding Converter="{StaticResource converter}" />
    </TextBlock.Text>
</TextBlock>

7
叹息,那很容易。我把逗号留在那里弄坏了它。 第一个解决了问题。 - Dan
3
太棒了 - 我对Silverlight的情况总是不太确定。有时候在WPF中看起来非常基础的东西,在Silverlight中完全不存在。 - Matt Hamilton
5
嘿嘿,我刚刚也做了同样的事情。浪费了20分钟在一个愚蠢的逗号上。谢天谢地有Stack Overflow。 - Martin Doms

1
Dot sign还为SL开发人员提供DataContext绑定。
<TextBlock Text="{Binding Path=.,Converter={StaticResource converter}}" />

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接