繁体   English   中英

具有用户控件的WPF UI设计

[英]WPF UI Design with user controls

作为WPF的新手,我想澄清一下在WPF中构建UI的方法。 我正在将WPF与MVVM一起使用。 我的方法是使用一个包含用户控件的主窗口,该控件可以在UI树的深处运行多个级别。 例如,我在窗口中有一个编辑器。 可以在编辑器中编辑许多项目,并且每个项目的UI不同,但是编辑器始终显示“确定”和“取消”按钮。 因此,可以在多个编辑器之间共享带有“确定”和“取消”的主编辑器窗口。 我在设计应用程序时,使编辑器用户控件将仅将视图模型绑定到要编辑的项目。 因此,在设计用于编辑单个项目的UI时,不会插入“确定”或“取消”按钮,而只是将其放入将提供按钮的主编辑器中。 我很确定我可以使用WPF命令基础结构正确处理命令。

如果我可以在这里用一些xaml弄清楚,请不要理会控件的位置,我的意思是解释在多个项目之间共享Common UI的基本思想。

<UserControl Name="EditorMainWindow"> 
 <Grid>
   <StackPanel>
        <ItemsControl ItemsSource="{Binding ItemToBeEdited}">                
        </ItemsControl>  
       <Button Content="OK" Width="120" Command="{Binding SomethingforOK}" />
       <Button Content="Cancel" Width="120" Command="{Binding SomethingforCancel}"/>         
    </StackPanel>               
 </Grid>
</UserControl>     

我这样做的方式,用户界面树可以深入几个层次。 我将受益匪浅,因为如果客户要求在一个特定位置更改UI,则无需在很多地方进行更改(只要共享)。

由于我是WPF的新手,所以我想知道这种方法是否有用。 你能告诉我这是否有意义吗?

您可以节省很多时间。 卡特尔已经提供了这样一个窗口:

数据窗口

它已经为支持动态嵌套用户控件的MVVM(Catel也是MVVM框架)做好了充分的准备。 令人高兴的是,它还支持开箱即用的错误处理,因此,一旦窗口模板中发生错误,用户就会在InfoBarMessageControl中看到错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM