随笔分类 - WPF
摘要:1.Visual Tree和Logical TreeLogical Tree:逻辑树,WPF中用户界面有一个对象树构建而成,这棵树叫做逻辑树,元素的声明分层结构形成了所谓的逻辑树!!Visual Tree:可视树(也叫视觉树),可视树是对逻辑树的扩展,可视树将逻辑树的节点打散,分放到核心棵树组件中,...
阅读全文
摘要:在某些项目中,可能需要动态的改变控件的模板,例如软件中可以选择不同的主题,在不同的主题下软件界面、控件的样式都会有所不同,这时即可通过改变控件模板的方式实现期望的功能。基本方法是当用户点击切换主题按钮是加载新的资源字典,并使用新加载的资源字典替代当前的资源字典这时要用到ResourceManager...
阅读全文
摘要:装饰器定义:装饰器是一种特殊类型的 FrameworkElement,用于向用户提供可视化提示。 对于其他用户,装饰器可用于将功能控点添加到元素中或提供有关控件的状态信息。装饰器可以在不改变原有的控件结构的基础上将功能控点添加到元素中或在界面元素上提供视觉效果等。如WPF中的光标效果、焦点效果等就是...
阅读全文
摘要:现公司项目中需要制作一个扇形菜单,菜单项是用ListBox重写Style实现的,其数据是绑定的。菜单的每一项都有Normal,MouseOver和Selected三种状态,这三种状态当然可以通过鼠标移动和点击控制,但现在要通过代码来改变控件外观实现三种状态切换,该如何处理呢?1.WPF绑定的List...
阅读全文
摘要:尽量多使用Canvas等简单的布局元素,少使用Grid或者StackPanel等复杂的,减小开销。少用Margin Padding尤其避免嵌套使用。在自定义控件,尽量不要在控件的ResourceDictionary定义资源,而应该放在Window或者Application级。因为放在控件中会使每个实...
阅读全文
摘要:如果计算机存在多个显示器,这时设置wpf窗口为最大化,窗口只能在主显示器中实现最大化,如果想要实现窗口拉伸至多屏,需要获取所有显示器分辨率之和。这时用到了System.Windows.SystemParameters命名空间。 SystemParameters 是一个类,包含多个系...
阅读全文
摘要:WPF 进程间传递参数 在软件开发中有时需要在一个软件中启动另一个软件,这时用Process.Start(“软件路径”)可以启动另一个软件。如果在这个过程中还需要传递一些参数给新启动的软件,可以通过WPF中的Application_Startup来完成: 首先,在需要启动的WPF项目中的APP...
阅读全文
摘要:WPF多路绑定多路绑定实现对数据的计算,XAML:引用资源所在位置xmlns:cmlib="clr-namespace:CommonLib;assembly=CommonLib"> ...
阅读全文
摘要:应朋友之邀,做了一个兽棋游戏,主要规则如下:4x4的方格作为棋盘16张牌打乱之后背着放在棋盘的格子里牌分为黑红两队规则是象吃狮 狮吃虎 吃豹狼吃狗吃猫 吃鼠 最后鼠吃象 同级相吃两个都消失先手的那个人先翻一张牌,翻到什么颜色就用什么颜色.后翻的只能用另一种颜色第一个翻开第一张牌确定了双方各用什么颜色的牌然后第二个也翻一张,然后第一个人开始走第二步他可以选择继续翻牌,或者用已经翻开的牌去撞他周围的4张牌撞完哪张就翻开哪张,如果是自己的的牌,就完成本回合,如果是对方的牌,按照规则,谁小谁被杀死.被撞得小的话就吃了它,然后占领他的格子玩到后期的时候,棋盘就有空格了,这时候可以选择上下左右走一步或者继
阅读全文

浙公网安备 33010602011771号