如何使用复选框动态更改WPF控件的模板?

我有一个错误对话框(如下所示)。

我在ContentControl中显示Report对象,我已经为其定义了一个Template simpleErrorTemplate 模板

窗口上有一个CheckBox ,我想用来将模板更改为详细的ErrorErrorTemplate 。 实现这一目标的最佳方法是什么?

                 Show Details   

您可以在ContentControl样式中使用DataTrigger,其中绑定到ChkShowDetails CheckBoxIsChecked属性

      

更新

完成Xaml示例,粘贴并尝试:)

                       Show Details  

此解决方案适用于正在搜索模板交换的用户。 很简单希望它可以帮到你。 请指出任何错误。

只需使用此代码更改checkBox Checked事件上的模板。

  private void checkBox1_Checked(object sender, RoutedEventArgs e) { DataTemplate Temp; Temp = (DataTemplate)this.FindResource("TemplateYouHaveCreated"); listView1.ItemTemplate = Temp; } 

请参阅此链接以获取更多信息

http://developingfor.net/2009/01/09/dynamically-switch-wpf-datatemplate/