ContentControl中的UserControl

是否可以将一些UserControl插入ContentControl?

但我需要动态决定我需要插入哪个UserControl(比如DataTemplateSelector)。

是的,您可以在ContentControl.Content放置任何对象,但是根据确定您想要的UserControl的内容,有多种方法可以实现此目的。

我个人最喜欢的是使用DataTrigger来根据某些条件确定ContentControl.ContentTemplate

这是一个将ContentControl.Content基于ComboBox所选值的示例:

           

有可能的。 你需要有一个ContentControl让我们这样说:

  

然后你需要像这两个不同的UserControl

     

     

如果你想以dinamically方式更改它们,你只需要以编程方式更改ContentMain ContentControl的内容:

 // Initialize the content UserControl1 u1 = new UserControl1(); ContentMain.Content = u1; // Let's say it changes on a button click (for example) private void ButtonChangeContent_Click(object sender, RoutedEventArgs e) { UserControl2 u2 = new UserControl2(); ContentMain.Content = u2; } 

或多或少的想法…;)