WPF - MVVM القيادة ملزمة للجنوب ViewModel
سؤال
ولقد حصلت على VehicleViewModel له الفرعية ViewModel من NotesViewModel
public IManageVehicleNotesViewModel NotesViewModel { get; set; }
في تفعيل أول من VehicleViewModel I تفعيل ViewModel الفرعية.
NotesViewModel.Activate();
وتفعيل يدعو طريقة لالحرف الأول عددا من الأوامر، لقد أشار كسر هذه والتي يتم استدعاء.
CreateCommand = new DelegateCommand<object>(OnCreateCommand, CanCreate);
ولكن على الرغم من أن مربعات النص ملزمة للالفرعية مشاهدة (حتى DataContext في مكان) أي من أوامر ملزمة - لقد حاولت أن يدعو RaiseCanExecuteChanged على الأوامر لكنهم لا تعطيل، تمكين أو استدعاء الأساليب كما هو متوقع.
وأنا لا أعرف ما إذا كان لها صلة (مثل مربعات النص ملزمة) ولكن أنا ربط عرض وViewModel باستخدام ResourceDictionary وذلك ...
<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>
والأوامر في أعلى مستوى العمل VehicleViewModel.
وقد أي شخص من ذوي الخبرة أي شيء من هذا القبيل؟ هو أمر أقوم به الأشياء؟ أي مساعدة تلقى بامتنان!
وابتهاج،
واندي
المحلول
هل تؤدي الى الملكية CreateCommand
الحدث PropertyChanged
؟ إذا لم يحدث ذلك، لن يتم إخطار UI عند تعيين ذلك ...
وحاول استخدام أداة مثل سنوب للتحقق ما إذا كان تم تعيين الخاصية Command
زر
نصائح أخرى
هل هذا وتحقق الإخراج إلى معرفة ما يجري على:
<UserControl …
xmlns:diagnostics="clr-namespace:System.Diagnostics;assembly=WindowsBase" />
<Button Command="{Binding MyCommand,
diagnostics:PresentationTraceSources.TraceLevel=High}" … />
وينبغي أن يقدم ما يعترض انها في الواقع محاولة لربط، وما تحقق إطار الإخراج الخاص بك بينما كنت تستخدم لمعرفة ما يجري مع ذلك ملزمة.