結合我已經得到了有NotesViewModelWPF - MVVM命令的子視圖模型
public IManageVehicleNotesViewModel NotesViewModel { get; set; }
子視圖模型在VehicleViewModel第一次激活我激活子視圖模型一個VehicleViewModel。
NotesViewModel.Activate();
該激活調用一個方法來初始化一些命令,我已經指出這個和它被調用。
CreateCommand = new DelegateCommand<object>(OnCreateCommand, CanCreate);
然而,儘管文本框是在副視點(這樣的DataContext到位)沒有命令是綁定綁定 - 我試着呼喚RaiseCanExecuteChanged上的命令,但他們沒有禁用,啓用或按預期調用方法。
我不知道它是否有關(如文本框被結合),但我的關聯查看和使用視圖模型ResourceDictionary中的那麼...在頂層VehicleViewModel
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:v="clr-namespace:GTS.GRS.N3.Modules.Vehicles.Views"
xmlns:vm="clr-namespace:GTS.GRS.N3.Modules.Vehicles.Model">
<DataTemplate DataType="{x:Type vm:ManageVehicleViewModel}">
<v:ManageVehicleView />
</DataTemplate>
<DataTemplate DataType="{x:Type vm:ManageVehicleNotesViewModel}">
<v:ManageVehicleNotesView />
</DataTemplate>
</ResourceDictionary>
的命令工作。
有沒有人遇到類似這樣的事情?這是我做事的順序嗎?任何幫助感激地收到!
乾杯,
安迪
尼斯一個感謝,以前我從來沒有必須在命令上有一個PropertyChanged,但我剛剛refactered我的模塊。我想到了RaiseCanExecuteChanged是PropertyChanged for Commands的替代品,謝謝指針! – 2009-09-16 15:41:03
如果命令定義前先查看被綁定到視圖模型,你不需要提高的PropertyChanged。無論如何,我的命令屬性通常是隻讀的,而且是初始化的,所以我不需要擔心它 – 2009-09-16 16:05:46