2009-07-22 33 views
6

任何人都可以告訴我什麼是下面的XAML片段的C#等價物?WPF - 幫助將XAML綁定表達式轉換爲代碼隱藏

<my:DataGridTextColumn 
       Visibility="{Binding Path=DataColumns[21].IsVisible, Source={StaticResource viewmodel}, Converter={StaticResource vc}}"      
       Binding="{Binding SdDevDuration}" 
       /> 

它的能見度綁定我不能正確的。 DataGridTextColumn不是FrameworkElement,所以沒有SetBinding方法。

由於提前,

馬特

回答

11

我工作了這一點。對於任何人誰是有興趣,你可以使用BindingOperation.SetBinding method.

完整的代碼,

var newCol = new DataGridTextColumn(); 
newCol.Binding = new Binding("SdDevDuration"); 

var visiblityBinding = new Binding("IsVisible"); 
visiblityBinding.Source = col; 
visiblityBinding.Converter = new VisibilityConverter();       
BindingOperations.SetBinding(newCol, DataGridTextColumn.VisibilityProperty, visiblityBinding); 
+0

接受你的答案。 – Sauron 2009-07-22 10:41:01

0

我設置了可見性的來源,以一個靜態資源,但仍然有AG_E_BAD_PARSER運行時錯誤,看起來像它工作在WPF但不是在Silverlight的。我正在使用Silverlight 3 DataGridTextColumn。你在Silverlight中試過這個嗎?

我發現了另一個與此問題有關的鏈接,但我還沒有找到解決方案。 Silverlight DataGridTextColumn Binding Visibility