让我们想象一下我们想要实现TTT更有娱乐性的一个版本(这是大部分游戏中最重要的特色)。例如,TTT的一种变体允许玩家每次只能占据3个格子,去除第一步在下第四步的时候,去除第二步在下第五步的时候,,以此类推。为了实现这个变体,我们需要保持对每一步按顺序跟踪——可以利用PlayMover类,如示例5-20。 示例5-20 namespace TicTacToe { public class P... Read More
posted @ 2008-04-04 11:40
包建强
Views(1170)
Comments(5)
Diggs(0)
命名样式非常有用,当你得到一组属性并应用到特点的元素上。然而,如果你想要应用一个统一的样式到所有确定元素类型的实例,设置TargetType而不用一个Key,如示例5-16所示。 示例5-16 在示例5-16所示,我们已经得到了两种样式,一种是带有TargetType的Button,没有key;另一种是带有TargetType的TextBlock,没有key。它们都以同样... Read More
posted @ 2008-04-04 11:37
包建强
Views(787)
Comments(2)
Diggs(1)
通过把同样的内嵌样式提升到资源中(正如第一章介绍的),我们可以给它一个名字,以及按名字使用它在我们的Button实例上,正如示例5-5。 示例5-5 在示例5-5中,我们在属性中使用到Control前缀取代Button前缀,从而允许样式更广泛的应用,正如我们将要看到的。 5.3.1 TargetType属性 方便起见,如果所有的属性可以在一个共享... Read More
posted @ 2008-04-04 11:35
包建强
Views(865)
Comments(1)
Diggs(0)
每一个“可样式化”的WPF元素都有一个Style属性,可以在内部设置这个属性——使用XAML属性-元素的语法(在第一章讨论的),如示例5-4。 示例5-4 因为我们想捆绑属性值在我们的样式中,我们有一个带有两个Setter子元素的Style元素,一个是我们想要设置的每个属性,如FontSize和FontWeight,都带有Button前缀,指出了包含属性的类。适用... Read More
posted @ 2008-04-04 11:24
包建强
Views(772)
Comments(2)
Diggs(0)
作为一个样式如何使其在WPF使用的例子,,让我们看一下TTT简单的实现,如示例5-1。 示例5-1 这个grid的外观上排列了一组9个按钮在一个3X3... Read More
posted @ 2008-04-04 11:24
包建强
Views(823)
Comments(2)
Diggs(0)
总而言之,对文档的处理,“样式”是应用到某个范围内容的一组属性,如文本、图像等等。举例来说,我们正在使用的样式名为“Normail,Body,b”,并用于预出版的文档,这意味着使用10号Times字体,完全对齐。文档的稍后部分,我们将要使用名为“Code,x,s”的样式,这将使用9号Courier New字体,居左对齐。当内容生成内容的时候,样式就应用到内容,产生确定的外观。 在WPF中,样式同样... Read More
posted @ 2008-04-04 11:13
包建强
Views(572)
Comments(2)
Diggs(0)
如果你打算发布你的应用程序到全球各地,你可能需要为不同地区的用户界面准备不同的版本。至少,这需要解决将文本翻译成适当的语言;同样需要解决UI改变的问题。你可能需要特定的外观适应为本地化的文化习俗。或者,你可能会发现原始的外观在翻译后并不能正常工作,因为词的长度是不一样的。(虽然WPF的外观体系避免了这一问题,更易于创建更弹性的外观。) 为你的软件在不同的市场创建不同的版本是可能的。尽管如此,更加普... Read More
posted @ 2008-04-04 11:12
包建强
Views(914)
Comments(1)
Diggs(0)
WPF提供了资源工具,让我们运用在用户界面中,动态并具有一致性。我们可以在资源字典中存储任意资源,并且可以遍及应用程序引用这些资源。WPF的样式机制依赖于资源字典——通过为控件设置属性和模板,基于应用程序的皮肤或当前的系统配置主题。而且,对于二进制资源,包含了编译后的BAML版本的xaml文件,WPF使用明显的本地化ResourceManager体系,为终端用户选取最适合的资源作为用户界面的文化。... Read More
posted @ 2008-04-04 11:12
包建强
Views(512)
Comments(1)
Diggs(0)
尽管ResourceDictionary和系统级别的资源适合于作为数据存在于对象中,然而,并不是所有的资源都能很好的满足这个模型。能够处理二进制流通常是很有用的。例如,图像,声频和视频,都是有效地二进制的代表,但是这些资源在xaml内都没有相应的标签,而且毕竟这些对象通常表现为底层数据的包装。标记语言本身代表了一种挑战:xaml页面必须编译到我们的应用程序中。因此,需要一种处理二进制流的方法。 W... Read More
posted @ 2008-04-04 11:08
包建强
Views(1170)
Comments(1)
Diggs(0)
WPF的样式机制以来于资源体系来定位样式。正如你在第5章看到的,样式在元素的资源片段中定义,而且样式通过其名字被引用,正如示例6-18所示: 示例6-18 Hello 然而,如何定义一个样式,使之自动的应用到一个元素,而无需显示指定要引用的资源——这是可以实现的,而且非常有用——当你需要把一个样式应用到具有独特类型的... Read More
posted @ 2008-04-04 11:04
包建强
Views(841)
Comments(1)
Diggs(1)