2023-03-16
61
面板控件:
DockPanel控件DockPanel使得在所有四个方向(顶部、底部、左侧和右侧)都可以很容易地停靠内容。这在很多情况下都是一个很好的选择,其中您希望将窗口划分为特定的区域,尤其是因为默认情况下,DockPanel内的最后一个元素(除非该特性被特别禁用)将自动填充剩余的空间(中心)。正如我们在WPF中看到的,通过使用面板的附加属性(本例中为DockPanel.Dock属性),您可以开始利用面板的可能性,DockPanel属性决定子控件要停靠到哪个方向。如果你不使用这个,第一个控件将停靠在左边
2023-03-16
42
WPF样式:
使用WPF样式在前一章,我们介绍了样式的概念,我们使用了本地定义样式的一个基础示例,它针对特定类型的控件 - TextBlock。 但是,样式可以在几个不同的范围中定义,具体取决于您希望在何处以及如何使用它们,甚至可以将样式限制为仅在您明确需要的控件上使用。 在本章中,我将向您展示定义样式的所有不同方式。本地控件的特定样式您可以直接在控件上定义样式,如下所示:<Window x:Class="WpfTutorialSamples.Styles.ControlSpecific
2023-03-16
38
创建一个游戏:WPF贪吃蛇:Chapter introduction: In this article series, were building a complete Snake game from scratch. It makes sense to start with the Introduction and then work your way through the articles one by one, to get the full understanding.
If you
2023-03-16
64
异步杂项:
取消BackgroundWorker正如我们在上一篇文章中看到的那样,多线程具有额外的优势,即能够在执行耗时的操作时显示进度并且不会使应用程序中止。当你在UI线程上执行所有工作,你将面临的另一个问题是,用户无法取消正在运行的任务 - 为什么会这样? 因为如果UI线程忙于执行冗长的任务,则不会处理任何输入,这意味着无论用户如何努力地点击取消按钮或Esc键,都不会发生任何事情。对我们来说幸运的是,构建BackgroundWorker就是为了让您可以轻松进行任务并取消,而我们在上一章讲述了整个的进程
2023-03-16
66
DataGrid 控件:
DataGrid列在上一章中,我们了解到让WPF DataGrid启动并运行是多么容易的一件事。 其中一个原因是DataGrid会根据您使用的数据源自动为您生成适当的列。但是,在某些情况下,您可能需要手动要定义显示的列,因为您不需要数据源的所有属性/列,或者因为您想控制使用哪种内联编辑器。用户自定义列让我们来尝试一个例子,它看起来和前一章的例子很像,但是我们将手动定义所有列以获得最大的控制。 您可以根据您希望显示/编辑的数据选择列类型。 截至撰写时,以下列类型可用:DataGri
2023-03-16
93
音频与视频:
播放音频WPF具有出色的内置音频和视频支持,您将在本教程的下几章中看到。 在本章中,我们将讨论播放来自音频文件的音频能力,例如: 在MP3格式,但首先让我们看看几种更简单的方法。系统声音和SoundPlayerWPF有一个SoundPlayer类,它将为您播放基于WAV格式的音频内容。 WAV今天不是一种非常广泛使用的格式,主要是因为它没有压缩,占用了大量的空间。因此,虽然SoundPlayer类易于使用,但它并不是很有用。 我们将专注于MediaPlayer和MediaElement类,它
2023-03-16
46
异步杂项:
使用BackgroundWorker进行多线程处理默认情况下,当你的程序执行一段代码时,这段代码会被运行在和程序自身相同的线程上。这意味着当这代码段被执行时,程序内部不会再执行其他任何工作,包括更新UI。对于刚接触Windows编程的人来说,当他们第一次执行需要超过一秒钟的事情并且意识到他们的应用程序在执行此操作时实际挂起时,这是一个令人惊讶的事情。 结果是来自那些试图在更新进度条的同时运行冗长进程的人们发布了许多令人沮丧的论坛帖子,只是意识到在进程运行完成之前进度条没有更新。所有这一切的解决
2023-03-16
40
面板控件:
WPF面板简介面板是WPF裡其中一个很重要的控件。面板扮演著装载其他控件的容器的角色,同时也控制著页面和视窗的佈局。由于一个视窗只允许一个子控件,因此面板经常会被使用于分隔空间,这样每个空间就会有一个控件或者面板。面板有多种不同样式,每种样式都有他各自的布局和控件处理方式。因此,要实现你需要的功能和布局,必须要选择正确的面板样式,这对初学WPF编程者可能会有些困难。下一节将会对每种面板进行简要的介绍,以便提供应用面板的基本概念。接下来,再对每种面板进行详细的了解。Canvas这是一种简单的面板