在程序运行时编译/执行XAML

Joe*_*oel 1 c# wpf xaml code-generation runtime

我想创建一个WPF应用程序,该应用程序从数据库检索XAML代码并显示检索到的代码。

可以说数据库返回以下代码:

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid x:Name="mainGrid">
        <Button Content="test case 1" 
                HorizontalAlignment="Left" 
                Margin="10,10,0,0" 
                VerticalAlignment="Top" 
                Width="100" 
                Click="TestCase1_OnClick" 
                Height="29"/>
    </Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)

我如何在运行时执行此代码(或者可能只是mainGrid的内容)?

Roh*_*ats 5

XamlReader类用于此目的。使用其Load方法动态加载xaml。

编辑-此链接这里可能是你的兴趣。

  • 是的,您不能使用它创建处理程序,因为它不再是“宽松的XAML”了。只能加载松散的XAML。 (2认同)