2009-07-22 14 views
6

Kann mir jemand sagen, was ist das C# entspricht der folgenden Ausschnitt von XAML ??WPF - Hilfe Umwandlung XAML Bindung Ausdruck zu Codebehind

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

Es ist die Sichtverbindung, die ich nicht richtig bekommen kann. DataGridTextColumn ist kein FrameworkElement, also keine SetBinding-Methode.

Vielen Dank im Voraus,

Matt

Antwort

11

arbeitete ich dies. Für jeden, der das ist, BindingOperation.SetBinding method.

Der vollständige Code verwenden können, um die Sichtbarkeit interessiert Sie ist Quelle einer Static

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

Akzeptieren Sie Ihre Antwort. – Sauron

+0

werde ich. SO sagt mir, ich muss warten, bevor ich meine eigene Antwort akzeptiere. –

0

I gesetzt, aber immer noch AG_E_BAD_PARSER Laufzeitfehler bekam, sieht aus wie es in WPF funktioniert aber nicht in Silverlight. Ich verwende Silverlight 3 DataGridTextColumn. Hast du das in Silverlight probiert?

Ich habe einen anderen Link zu diesem Problem gefunden, aber ich habe die Lösung noch nicht gefunden. Silverlight DataGridTextColumn Binding Visibility