C# 类属于xaml文件

C# 类属于xaml文件,c#,wpf,xaml,C#,Wpf,Xaml,我不熟悉wpf或C语言,但我想从概念语言模型(DSL)生成xaml代码和cs代码,我编写了很多模板来生成xaml标记和cs代码,并使用MVVM将它们绑定到我的数据模型。 例如,我为xaml文件创建cs类的模板是: namespace $domain { /// <summary> /// Interaction logic for $name.xaml /// </summary> public partial class $name :

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

namespace $domain
{
    /// <summary>
    /// Interaction logic for $name.xaml
    /// </summary>
    public partial class $name : Window
    {
        public $name()
        {
            InitializeComponent();
        }
    }
}
命名空间$domain
{
/// 
///$name.xaml的交互逻辑
/// 
公共部分类$name:Window
{
公共$name()
{
初始化组件();
}
}
}
我的问题是: 这部分代码是否足以为我的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>

$content

如您所见,该类继承了
窗口

您可能想查看以下内容:

摘录:

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


如您所见,该类继承了
窗口

您可能想查看以下内容:

摘录:

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


谢谢你的回答,这部分cs代码对我的xaml文件来说足够了吗。在开发XAML时,您添加的组件也应该出现。那么它如何检测并找到我的组件来初始化它们呢?它是如何工作的?如果您使用的是Visual Studio,它通常会自动执行。但是你也可以手工添加它们。请参阅前面引用的文章了解更多详细信息。不,我的问题是我是linux用户,我正在使用monodevelop编写cs代码感谢您的回答,而cs代码的这一部分对于我的xaml文件来说足够了吗?本质上。在开发XAML时,您添加的组件也应该出现。那么它如何检测并找到我的组件来初始化它们呢?它是如何工作的?如果您使用的是Visual Studio,它通常会自动执行。但是你也可以手工添加它们。请参阅前面引用的文章了解更多详细信息。不,我的问题是我是linux用户,我正在使用monodevelop编写cs代码