在WPF MVVM模式下工作,我有這樣的訪問userctrol的DataContext的不爲我
<UserControl MyControl>
<Grid>
<DataGrid
ItemsSource="{Binding MySource}"
Visibility = "{Binding the usercontrol's datacontext.UserGrade}"
/>
</Grid>
</UserControl>
在我MainPageView一個用戶控件我使用這樣的
<Window:MainPageView
xmlns:vm="clr-namespace:My.ViewModel"
xmlns:userCtl="clr-namespace:My.Controls"
<Window.DataContext>
<vm:MainPageViewModel/>
</Window.DataContext>
<userCtl:MyControl>
<userCtl:Mycontrol.DataContext>
<vm:MyControlViewModel/>
</userCtl:Mycontrol.DataContext>
<userCtl:MyControl>
</Window:MainPageView>
現在,這裏的問題,如何我可以訪問MyUserControl的datacontext.UserVisiable,並綁定到MyUserControl的datagrid可見性嗎?我試圖使用{RelativeSource FindAncestor,AncestorType = {x:Type UserControl}},但它沒有工作,或者我沒有錯呢?謝謝!
你想訪問'Window'的屬性,但是在'FindAncestor'中使用'UserControl'類型...爲什麼? – Sinatr
這一切都可以,因爲我的viewmodel在baseviewmodel中具有相同的屬性 –
您想訪問MyUserControl的datacontext.Visibility。你有MyControlViewModel上的Visibility屬性嗎? – Liero