以编程方式创建WPF窗口

mad*_*ads 3 .net c# wpf

我刚刚开始学习C#(来自Java),我更喜欢手动开发我的Windows,但我发现的所有MSDN指南都涉及使用XAML视图.我在哪里可以找到解释如何手动执行此操作的教程?

编辑:似乎不建议这样做,那么在特定条件为真时如何添加游戏循环或绘图等逻辑?

Ath*_*ari 8

你会非常喜欢Charles Petzold的Applications = Code + Markup.他从C#代码开始,后来才介绍XAML.

话虽如此,你不应该这样做.XAML即使有其冗长的含义,也经常以非显而易见的方式隐藏了大量的基础设施.像这样的琐碎代码:

<Control Foo="Text" FooExt.Bar="{Binding Text}" Grid.Column="0">
Run Code Online (Sandbox Code Playgroud)

可能变成这样难以理解的混乱:

var ctl = new Control();
ctl.BeginInit();
ctl.Foo = "Text";
var prop = FooExt.BarProperty;
var binding = new Binding("Text") { Source = dataContext };
BindingOperations.SetBinding(ctl, prop, binding);
Grid.SetColumn(ctl, 0);
ctl.EndEnit();
Run Code Online (Sandbox Code Playgroud)

你不会喜欢写这段代码.WPF旨在与XAML一起使用.


WPF不使用"绘制"事件或类似事件,在您"绘制"一次的最低级别,它被存储为矢量图像,框架在必要时负责重绘它.在更高级别,您添加控件,基元等,并更改其属性.同样,框架负责更新视图.在更高级别上,您只需创建用于创建控件的模型和规则,然后让框架完成剩下的工作.

WPF与使用控件的"传统"方式完全不同.在提问之前,您应该阅读一本好书或至少几本全面的教程,因为您似乎并不了解基础知识.