在MainWindow.xaml
,我設置:在App.xaml中聲明WPF隱含的DataTemplate不會生效
<Window.DataContext>
<vm:MainViewModel/>
</Window.DataContext>
在App.xaml
文件,我增加了以下內容:
<Application.Resources>
<DataTemplate DataType="vm:MainViewModel">
<v:MainView/>
</DataTemplate>
</Application.Resources>
我希望MainWindow
將自動加載並顯示MainView
,並將其0123PO屬性設置爲窗口的屬性(在設計時將其設置爲MainViewModel
,如上),但它不起作用 - MainWindow
不使用在App.xaml
中設置的DataTemplate
。
這種情況下的任何更好的想法?
有沒有更通用的方法來使其依賴於App.xaml設置? – Shimmy
@Shimmy:你想做什麼?你所做的是有效地試圖「將窗口變成MainView」,這是行不通的。您需要在某些時候將Window的內容設置爲ViewModel,並且它可以正常工作。如果你願意的話,你可以使用' Window.Content>'而不是放入一個'ContentPresenter''(我只是覺得另一個更清晰。 ..) –
爲了清晰和簡潔,我已經更新了答案。這回答了我的問題。 – Shimmy