我有一个TextBlock
控制,我声明性地将Text
属性设置为{loc:Translate}
。以编程方式设置WPF属性
<TextBlock x:Name="Message" Text="{loc:Translate}" loc:TranslateExtension.Uid="myMessage" />
在运行时,我将Text属性值更新为其他值。然后我需要将它重置为{loc:Translate}
。
我的问题是,如何以编程方式将Text
设置为{loc:Translate}
?
感谢您的解释。绝对帮助我理解发生了什么,但是我的扩展实现不会除了一个空的'IServiceProvider'。我可能会寻找一个不同的工作来实现我想要实现的目标,可能使用两个“TextBlock”并更改其可见性而不是“文本”。 谢谢! – Sio 2011-05-16 23:04:24
在MSDN上有很多东西可以找到,例如[本文](http://msdn.microsoft.com/en-us/library/ee621338.aspx)可能会帮助您使用服务提供者。我引用的['ProvideValue'-Documentation](http://msdn.microsoft.com/en-us/library/system.windows.markup.markupextension.providevalue.aspx)也是非常丰富的。但是它可能是一个持续存在的问题,MarkupExtensions顾名思义仅仅是XAML标记本身,所以没有在代码背后使用它的正确方法。 – 2011-05-16 23:12:46