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