Wpf ResourceDictionary中的共享控件

Wpf ResourceDictionary中的共享控件,wpf,wpf-controls,Wpf,Wpf Controls,我有一个网格,我想在几个地方共享,网格有几个控件(文本框、标签、文本块和按钮)。我将其放在我的资源字典中,如下所示: <Grid Background="LightGray" x:Key="gridShare"> <!-- other controls here --> </Grid> 但当我在不止一个地方使用它时,我会得到一个例外,说: “指定的元素已经是另一个元素的逻辑子元素。请先断开它。” 这是有道理的,所以我想知道是否有其他方法来实现这一点

我有一个网格,我想在几个地方共享,网格有几个控件(文本框、标签、文本块和按钮)。我将其放在我的资源字典中,如下所示:

<Grid Background="LightGray" x:Key="gridShare">
   <!-- other controls here -->
</Grid>

但当我在不止一个地方使用它时,我会得到一个例外,说:

“指定的元素已经是另一个元素的逻辑子元素。请先断开它。”

这是有道理的,所以我想知道是否有其他方法来实现这一点


提前感谢。

如果我正确理解您的意图(在多个位置显示完全相同的复合控件),您可以将网格放置在
控件模板中,并将其应用于
内容控件
s:

在ResourceDictionary中:


[...]
在用户控件中:


如果我正确理解您的意图(在多个位置显示完全相同的复合控件),您可以将网格放入
控件模板中,并将其应用于
内容控件
s:

在ResourceDictionary中:


[...]
在用户控件中:



您要做的是用它作为模板创建一个自定义控件,然后使用此自定义控件的实例而不是网格本身。或者创建一个UserControl并使用它的实例。

您要做的是创建一个自定义控件,将其作为模板,然后使用此自定义控件的实例而不是网格本身。或者创建一个UserControl并使用它的实例。

Ha!我以前做过!我想我工作太多了。工作很有魅力,谢谢你!哈我以前做过!我想我工作太多了。工作很有魅力,谢谢你!尽管我非常喜欢你的解决方案,但在我目前的情况下,另一个更简单。谢谢你的建议!尽管我非常喜欢你的解决方案,但在我目前的情况下,另一个更简单。谢谢你的建议!