如何将标记扩展方法应用于XAML中的绑定值?

时间:2013-01-25 13:50:58

标签: wpf xaml binding markup-extensions

我有一个字符串的本地化标记扩展方法,我可以这样申请:

<TextBlock Text="{l:Translate 'My string'}" />

如何将此标记扩展方法应用于绑定结果?即类似的东西:

<TextBlock Text="{l:Translate '{Binding Path=myStringParameter}'}" />

2 个答案:

答案 0 :(得分:1)

我相信你不可能这样做,但你可以按如下方式改写它:

 <TextBlock>
     <TextBlock.Text>
        <l:Translate>
           <Binding Path="myStringParameter" />
        </l:Translate>
     </TextBlock.Text>
 </TextBlock>

答案 1 :(得分:1)

使用标记扩展只需执行此操作:

{l:Translate {Binding Path=myStringParameter}}

XAML解析器将处理内部标记扩展本身。就像在经典WPF中一样:{StaticResource {x:Type Button}}