在WPF

2014-03-02 61 views
2

的代碼路徑和源綁定我有這樣的XAML:在WPF

<MenuItem Name="celsiusBtn" 
      Header="{Binding Path=celsiusBtn, Source={StaticResource Resources}}" 
      IsChecked="True" 
      Click="celsiusBtn_Click" /> 

我使用這個綁定字符串,並能夠在運行時改變他們:

WPF Runtime Localization

現在我的問題是我需要在代碼中執行相同的綁定,但我不知道如何在Binding中指定Source。我知道我可以在類的構造函數中給出Path或屬性名稱,但我不確定如何訪問Source屬性或甚至將其定義爲StaticResource

+0

是資源是靜態類? – Sankarann

回答

2

下面是在代碼Binding一個例子Label.Content財產,我測試:

// analogue of this line: 
// {Binding Path=LabelCultureName, Source={StaticResource Resources}} 

var binding = new Binding(); 
binding.Path = new PropertyPath("LabelCultureName"); 
binding.Source = (ObjectDataProvider)App.Current.FindResource("Resources"); 

TestLabel.SetBinding(Label.ContentProperty, binding); 

你的情況,這將是這樣的:

var binding = new Binding(); 
binding.Path = new PropertyPath("celsiusBtn"); 
binding.Source = (ObjectDataProvider)App.Current.FindResource("Resources"); 

celsiusBtn.SetBinding(MenuItem.HeaderProperty, binding);