【发布时间】:2011-03-09 12:31:28
【问题描述】:
作为 WPF 的新手,我想澄清一下我在 WPF 中构建 UI 的方法。我正在使用带有 MVVM 的 WPF。我的方法是使用一个包含用户控件的主窗口,这些控件可以在 UI 树的深处运行多个级别。例如,我在一个窗口中有一个编辑器。许多项目可以在编辑器中进行编辑,并且每个项目的 UI 都不同,但编辑器始终显示“确定”和“取消”按钮。因此,带有 OK 和 Cancel 的主编辑器窗口可以在多个编辑器之间共享。我正在以这样一种方式设计应用程序,即编辑器用户控件只会绑定被编辑项目的视图模型。因此,在设计用于编辑单个项目的 UI 时,不会拉入 OK 或 Cancel 按钮,而只是将项目放入将提供按钮的主编辑器中。我很确定我可以使用 WPF 命令基础架构正确处理命令。
如果我可以在这里用一些 xaml 说清楚的话。请不要介意控件放置本身,我的意思是解释在许多项目之间共享通用 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 新手,我想知道这种方法是否有任何问题。你能告诉我这是否有意义吗?
【问题讨论】:
标签: wpf user-controls wpf-controls