Существует ли стандартный способ преобразования приложения UWP, использующего привязки, в X: Bind? - PullRequest
0 голосов
/ 03 декабря 2018

Приложение использует mvvm так хорошо, как может в данный момент.В настоящее время приложение использует привязку в каждом представлении.Существует класс basecontrol, который в настоящее время обрабатывает изменение свойства и использует глобальное свойство (ParentProperty).Когда я пытаюсь преобразовать команду в событие, это глобальное свойство, которое у меня есть, имеет значение null при обращении к методу «event», но не равно null при использовании потока команд с классическими привязками.Я установил контекст в коде позади, и нажатие кнопки достигает нужного ему метода.Просто у меня есть свойство, которое не получает свои значения при попытке использовать xbind, через связывание / команды.

По большей части я понимаю и вижу, что xbind работает с простыми экземплярами, но часть событияэто заставляет меня чесать голову.Код ниже представляет собой простое событие навигации на другую страницу, где мы будем добавлять новую запись.Этот код отлично работает с помощью команды, но при попытке выполнить x: bind parentproperty имеет значение null.

Единственное различие между командой и событием заключается в модели модель = новая модель ();в методе события используется Model model = obj as Model ();в команде.который принимает объектный аргумент obj.

            AddEditView control = new AddEditView();
            control.ParentProperty = ParentProperty;
            Model model = new Model();
            if (Model == null)
            {
                Model = new Model () { };
            }
            Model.ParentPropertiesType = ParentProperty ;
            control.ModelDetailsForAddEdit = Model;
            control.PropertyChanged += ModelDetailsForAddEdit_PropertyChanged;
            Utility u = new Utility();
            NavigationUtility.ShowDetailPage(ParentProperty.Id, u.GetInitializedControl(control, ParentProperty, 0), "View", "Add View");
...