我有一個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