2009-07-22 27 views
6

Bất cứ ai có thể cho tôi biết tương đương C# của đoạn mã XAML sau đây là gì ??WPF - giúp chuyển đổi biểu thức ràng buộc XAML thành codebehind

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

Ràng buộc hiển thị của nó Tôi không thể đi đúng. DataGridTextColumn không phải là một FrameworkElement do đó không có phương thức SetBinding.

Cảm ơn trước,

Matt

Trả lời

11

tôi làm việc này ra. Đối với bất cứ ai quan tâm bạn có thể sử dụng BindingOperation.SetBinding method.

Mã đầy đủ là,

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

Chấp nhận câu trả lời của bạn. – Sauron

+0

Tôi sẽ. SO nói với tôi tôi phải chờ đợi trước khi chấp nhận câu trả lời của riêng tôi. –

0

tôi đặt Nguồn của Tầm nhìn đến một StaticResource, nhưng vẫn có lỗi runtime AG_E_BAD_PARSER, trông giống như nó hoạt động trong WPF nhưng không phải trong Silverlight. Tôi đang sử dụng Silverlight 3 DataGridTextColumn. bạn đã thử điều này trong Silverlight chưa?

Tôi đã tìm thấy một liên kết khác liên quan đến vấn đề này, nhưng tôi chưa tìm thấy giải pháp. Silverlight DataGridTextColumn Binding Visibility

Các vấn đề liên quan