如何在WPF中动态交换窗口内容

时间:2010-07-14 12:16:55

标签: c# .net wpf wpf-controls

我需要有关开发WPF UI的帮助。我是WPF的新手。到目前为止,我阅读了许多教程并决定遵循MVVM设计模式。

我想要完成的事情看似简单: 窗口的开头有一个ComboBox。它嵌入在一个有两行的Grid中。现在我希望第二行的内容取决于ComboBox的选择。第二行占据了大约三分之三的页面。 Combobox没有提供太多选择。我最好不仅要交换标签,而且要交换窗口那部分的全部内容。

希望你们能得到这个想法......

此插图可能有所帮助:

 ______________
|Source: File  |
|--------------|
|      _______ |
|File:|C:\... ||
|     |_______||
|              |
|______________|


 __________________
|Source: Database  |
|------------------|
|      _________   |
|Host:|localhost|  |
|     |_________|  |
|      _________   |               
|Port:|1521|    |  |
|     |_________|  |
|__________________|

也许可以为每个子页面定义一个Grid并根据ComboBox选择动态交换它们?

感谢您提前花时间和精力 托比

1 个答案:

答案 0 :(得分:3)

我想到的第一件事是:

如果在XAML中填充组合框,请将相应的控件放入组合框的标签中。然后将第二行的内容绑定到SelectedItem.Tag:

<ContentControl Grid.Row="1" Content="{Binding ElementName=comboBox1, Path=SelectedItem.Tag}" />