WPF - 使用相同的窗口来实现不同的功能

时间:2011-05-23 10:15:07

标签: .net wpf

我计划开发一个管理不同任务的WPF应用程序。 每个任务都包含一组输入控件和输出控件。

为此,我需要在主窗口上有一个可重复使用的区域,以便在不干扰屏幕上的其他UI元素的情况下,我可以在该可重用区域上更新新的控件集。

2 个答案:

答案 0 :(得分:6)

我建议使用简单的Grid或一些这样的Panel-control。要更改内容,您只需更改其子用户控件,或者也可以将DataContext设置为视图模型(描述要在视图中显示的数据模型),然后使用DataTemplate显示DataContext,如您所愿:

<Grid>
  <Grid.Resources>
  <DataTemplate DataType="{x:Type ViewModels:YourcurrentViewModel}">
      <StackPanel><TextBox Text="{Binding YourProperty}" /></StackPanel>
  </DataTemplate>
  </Grid.Resources>
</Grid>

这方面有很多资源,只有谷歌DataTemplate或MVVM(模型视图 - 模型)模式。

答案 1 :(得分:1)

我喜欢Almunds的回答(upvoted),但我想我会加入并添加另外几个选项。 MVVM是可行的方法,像PRISM(支持MVVM)和较小程度MEF的框架允许模块化应用程序。我已经在一些陈旧的练习演示中看到过这项工作,而且它有时候有些过分,但如果你想为你的应用程序进行模块化分离,可能值得研究。