C#类属于xaml文件

时间:2012-07-09 05:32:00

标签: c# wpf xaml

我不熟悉wpf或C#语言,但是我想生成xaml代码并且它是来自概念语言模型(DSL)的cs代码,我写了很多模板来生成xaml标签和cs代码并绑定它们使用MVVM到我的数据模型。 例如,我为我的xaml文件创建cs类的模板是:

namespace $domain
{
    /// <summary>
    /// Interaction logic for $name.xaml
    /// </summary>
    public partial class $name : Window
    {
        public $name()
        {
            InitializeComponent();
        }
    }
}

我的问题是: 这段代码足以为我的xaml文件生成一个cs类吗?和InitializeComponent方法在哪里?

这是我的xaml模板

<Window x:Class="$domain.$name"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:vm="clr-namespace:$dmdomain"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="$title" Height="350" Width="525">
    <Window.DataContext>
        <vm:$dataModel />
    </Window.DataContext>
    $content
</Window>

1 个答案:

答案 0 :(得分:3)

如您所见,该类继承了Window

您可能需要查看此内容:http://en.csharp-online.net/XAML%E2%80%94Code-Behind_Class

摘录:

  

您的源代码中不显示InitializeComponent()方法   因为它是在编译应用程序时生成的。实质上,   所有InitializeComponent()都调用LoadComponent()方法   System.Windows.Application类。 LoadComponent()方法   从程序集中提取BAML(已编译的XAML)并使用它   构建您的用户界面。在解析BAML时,它会创建每个BAML   控制,设置其属性,并附加任何事件处理程序。