Wpf 如何将一些XAML片段作为子元素插入到窗口中?

Wpf 如何将一些XAML片段作为子元素插入到窗口中?,wpf,xaml,code-snippets,Wpf,Xaml,Code Snippets,我有一些像这样的XAML(作为字符串): <Grid> <TextBlock>some text</TextBlock> </Grid> 一些文本 我想将其插入我的窗口,而不在代码隐藏中生成它: <Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.micro

我有一些像这样的XAML(作为字符串):

 <Grid>
        <TextBlock>some text</TextBlock>
</Grid>

一些文本
我想将其插入我的窗口,而不在代码隐藏中生成它:

 <Window  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        x:Class="BookOnTheFly.MainWindow"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
 <insert xaml snippet here>
    </Grid>
</window>


我的意思是类似jQuery append的东西。

在代码中,您可以将元素添加到网格的
子元素中。像这样的

XAML:

注意: 如果要添加的对象已经是另一个元素的子元素,则会出现异常。在将其添加到新元素之前,必须先将其从该元素中删除

oldContainer.Children.Remove(toBeInserted);

希望这有帮助

你想要的是资源。资源是一段XAML代码,它符合资源字典中的某些要求。可以在应用程序、窗口或任何框架元素上定义资源。一旦定义,它可以以各种方式引用

编辑:

将所需的XAML代码放入资源目录:

 <DataTemplate x:Key="insertion">
        <!-- XAML here -->
    </DataTemplate>

并将其用作内容控制中的数据:

<ContentControl ContentTemplate="{StaticResource insertion}"/>

谢谢,但我指的是字符串。
 <DataTemplate x:Key="insertion">
        <!-- XAML here -->
    </DataTemplate>
<ContentControl ContentTemplate="{StaticResource insertion}"/>