Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WPF MVVM:查看模型中的信息_Wpf_Design Patterns_Mvvm - Fatal编程技术网

WPF MVVM:查看模型中的信息

WPF MVVM:查看模型中的信息,wpf,design-patterns,mvvm,Wpf,Design Patterns,Mvvm,假设我在WPF MVVM应用程序中有可拖动的节点。我需要加载并保存节点的位置及其逻辑。最简单的方法是通过存储库将位置和逻辑保存在一个xml文件中。但是,这意味着我在模型和视图模型中拥有视图信息 对于这个场景,是否有一种最佳实践方法,也许是我目前还没有考虑过的方法?如果您的应用程序关心它显示给用户的UI元素的定位,那么我会说定义这个定位的数据是您的模型中非常合法的一部分 不要混淆将UI与模型和ViewModels分离的理想与实际业务需求。例如,在像Visio这样的应用程序中,可以说对象在页面中的确

假设我在WPF MVVM应用程序中有可拖动的节点。我需要加载并保存节点的位置及其逻辑。最简单的方法是通过存储库将位置和逻辑保存在一个xml文件中。但是,这意味着我在模型和视图模型中拥有视图信息


对于这个场景,是否有一种最佳实践方法,也许是我目前还没有考虑过的方法?

如果您的应用程序关心它显示给用户的UI元素的定位,那么我会说定义这个定位的数据是您的模型中非常合法的一部分


不要混淆将UI与模型和ViewModels分离的理想与实际业务需求。例如,在像Visio这样的应用程序中,可以说对象在页面中的确切位置是“仅查看详细信息”,重要的是对象的属性以及它们之间的连接。然而,从用户的角度来看,工作区中对象的放置非常重要。换句话说,它是数据模型的一部分。

为什么节点是可拖动的?您希望存储哪些“位置”信息?在模型中存储层次信息(级别、同级)并从中创建视图中的图形信息是否足够?节点及其连接表示图形数据操作过程。用户必须能够将流程可视化为可执行(类似于Visio)。我必须在画布中保存x/y位置,因为我不创建位置和节点,并且层次结构是灵活的。非常好,谢谢,这加强了我在模型中保存此数据的观点