将 XAML 文件的内容嵌入到另一个 XAML 文件中

Embed XAML file's contents in another XAML file

我认为这是非常基本的,但我需要从 elements.xaml 中提取元素并将其作为主网格 "MainGrid" 的子项放入 Template.xaml 中。这可以用 c# 或 XAML 完成,这并不重要。

这里是elements.xaml:

<TextBox Text='' FontSize='25' Grid.Column='0' Grid.Row='1'/>
<TextBox Text='' FontSize='25' Grid.Column='1' Grid.Row='1'/>
<TextBox Text='' FontSize='25' Grid.Column='2' Grid.Row='1'/>
<TextBox Text='' FontSize='25' Grid.Column='3' Grid.Row='1'/>

这里是Template.xaml:

<Grid x:Name="MainGrid" Margin="20" Background="{ThemeResource SystemControlAltMediumLowAcrylicElementMediumBrush}">
    <Grid.RowDefinitions>
        //Defs go here
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        //Defs go here
    </Grid.ColumnDefinitions>
    <TextBlock x:Name="Head00" TextWrapping="Wrap" Text="Scene" FontSize="50" Grid.Column="0" Grid.Row="0"/>
    <TextBlock x:Name="Head10" Text="Characters" FontSize="50" Grid.Column="1" Grid.Row="0"/>
    <TextBlock x:Name="Head20" Text="Page" FontSize="50" Grid.Column="2" Grid.Row="0"/>
    <TextBlock x:Name="Head30" Text="Mic Assignment Number" FontSize="50" Grid.Column="3" Grid.Row="0"/>
</Grid>

我希望嵌入的 XAML 位于文本块下方。你们能帮忙吗?

编辑:elements.xaml 位于 applicationdata 文件夹中,位于 C:\Users\USERNAME\AppData\Local\Packages\PACKAGENAME\LocalState

谢谢, 拉詹

尝试使用XamlReader,它可以加载XAML字符串内容,并将字符串转换为对应的XAML元素。

这是一个简单的例子:

        string defaultNamespace = "http://schemas.microsoft.com/winfx/2006/xaml/presentation";
        string xaml = "<TextBlock xmlns=\"" + defaultNamespace + "\">Hello, world!</TextBlock>";
        // xaml content will be:
        // <TextBlock xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">Hello, world!</TextBlock>
        var textBlock = XamlReader.Load(xaml) as TextBlock;
        this.rootGrid.Children.Add(textBlock);

此示例会将 TextBlock 带到 UI。

有关XamlReader的更多信息,您可以访问XamlReader Class