我需要没有XAML的WPF控件示例

8
我买了一本关于WPF技术的好书,但是我想要一些编程系统的代码示例,并且不使用太多的XAML标记。尤其是我想了解单个文本控件和事件的情况。
因此,我需要一个网站或一本书籍,而不是傲慢的评论:P
请注意:请保持主题!我不是在批评该系统。谢谢。

格伦,也许你有一个真正的问题,但你还没有提出来。更加具体一些,增加一些例子。 - H H
6
好的,我理解您需要一份关于个人控件和事件的简明介绍。链接指向微软开发者网络(MSDN)页面,可能会有所帮助。 - Ed S.
那是一个答案吗?也许我不知道,我会查一下,我对 .net 还很新。 - Glen P
除非你进入它们的模板,否则不要使用XAML标记来创建WPF控件。我不确定我理解这个问题。 - Greg D
http://www.tbiro.com/Hello-WPF-Without-XAML.htm,http://www.codeproject.com/Articles/15154/WPF-Windows-Code-based-layout-versus-XAML - nawfal
显示剩余3条评论
6个回答

6

我不太确定您的要求,因为XAML只是一种标记语言。

如果您拿像这样的东西:

<Button Name="MyButton" Content="Test" />

你真正想表达的是

Button b = new Button();
b.Name = "MyButton";
b.Content = "Test";

我认为没有必要创建一个关于如何通过代码后台制作WPF控件的教程,因为标记语言几乎可以完成相同的工作,并且大多数情况下将标记语言中看到的内容转换成代码后台非常容易。
而且,如果你真的想要通过代码后台创建特定控件的示例,通常可以通过 Google 找到大量代码示例。

4

4
很抱歉,Glen,WPF并不是为了通过代码使用而构建的。尽管你可以通过代码做一些事情,但这样做要困难得多。WPF是基于数据构建的,因此要操作UI,你需要操作数据,而不是控件。这是一个复杂的主题,但可以说,控件可能存在或不存在于运行时,这取决于它们在屏幕上的当前可见性和其他属性。
如果你仍然想尝试这个,你可以查看System.Windows.Controls命名空间中的控件。一旦你需要创建ControlTemplate或DataTemplate,你可以使用FrameworkElementFactory
例如,关于这个问题的复杂性,您可以查看this。因此,微软建议即使需要通过代码操纵WPF,也应该将XAML放在字符串中,并使用XamlReader.Load()方法进行加载(这个建议在FrameworkElementFactory文档的备注部分中提到)。

我曾经用XamlReader.Load()做过这件事,它非常顺利,但我仍然感觉有点不妥。 - Greg D

3

如果你真的想要学习WPF“代码优先”,那么我所知道的实际上只有一个主要资源:

Sells' & Griffiths' Programming WPF book

他们从代码优先的角度来解释WPF。我认为直到这本(相当庞大的)书的后半部分才介绍了xaml。

请注意,您还将学习一些“旧”的方法,其中较新版本的WPF已经从Silverlight等中吸取了教训。(例如,触发器与VisualStateManager)


2

0
如果你想了解更多关于 WPF 的内容,可以查看这个博客。在那里你会发现很多有用的信息。
祝好,
Debasis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接