我有必然類型的ObservableCollection的視圖模型的財產一個DataGrid。在DataGrid中我有幾個DataGridTextColumns綁定到ObservableCollection的項目。我需要訪問父DataContext(ViewModel)來設置其中一個DataGridTextColumns的Visibility屬性。 有一個解決方案建議在互聯網上:使用父母的DataContext的用於Visibility屬性
{Binding DataContext.IsColumnVisible, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type MyControl}}}
IsColumnVisible屬性的類型System.Windows.Visibility的。這樣的解決方案適用於其他屬性,如DataGridTextColumn.Binding,但不適用於DataGridTextColumn.Visibility! 是否有解決方案的可見性?
編輯:我終於通過了以下解決方案: Bind datagrid column visibility MVVM
謝謝你的解釋!但是,有沒有太複雜的方式來實現我的目標? – vkrzv 2012-01-13 17:34:18
@ user835103:嗯,列沒有一個DataContext,什麼是你嘗試目標DataContext的?該項目或「DataGrid」的? – 2012-01-13 17:49:33
DataGrid的。對不起,我沒有訪問我的SA帳戶。 – vkrzv 2012-01-16 10:39:21