0

该应用程序目前正在尽可能地使用 mvvm。目前,应用程序在每个视图中都使用绑定。有一个 basecontrol 类当前处理 propertychange 并使用全局属性 (ParentProperty)。当我尝试将命令转换为事件时,当“事件”方法被命中时,我拥有的这个全局属性为空,但在使用带有经典绑定的命令流时不为空。我已经在后面的代码中设置了上下文,点击按钮就达到了它需要的方法。只是我有一个属性在尝试使用 xbind 时无法通过绑定/命令获取其值。

在大多数情况下,我理解并看到 xbind 可以处理简单的实例,但它的事件部分让我摸不着头脑。下面的代码是到另一个页面的简单导航事件,我们将在其中添加新记录。此代码使用命令可以正常工作,但是在尝试执行 x:bind 时,父属性为空。

命令和事件之间的一个区别是模型 model = new Model(); 在事件方法中是 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");
4

0 回答 0