随笔分类 - WPF
摘要:在WPF 中可以通过PrintDialog类方便的实现应用程序打印功能,本文将使用一个简单实例进行演示。首先在VS中编辑一个图形(如下图所示)。 将需要打印的内容放入同一个中,并起名为“printArea”,打印按键一般不是我们希望打印出来的内容,则将其放在外面。 ...
阅读全文
摘要:首先,想问大家一个问题,你们如果要给一个Button添加背景图片会怎么做?(呵呵,这个问题又点小白哈)是这样吗? 如果也是这样的话,那你们有没有碰到这个问题呢,当鼠标放到按钮上,背景会被改变呢?如图:正常显示鼠标放到按钮上按钮就变成这样了,你们有没有碰到这样的事情?那你们又是怎么解决的呢,希望高手指点下。不胜感激……我们的解决方案是做一个模板,把背景图片当作内容赋给Button代码如下: ...
阅读全文
摘要:好了,看这个红叉叉打的,下面先来一条异常:1.在“System.Windows.Baml2006.DeferredBinaryDeserializerExtension”上提供值时引发了异常上图:这个问题我纠结了半天查了好多资料而不可得,总以为是数据绑定之类的错误,最后才发现是一个TextBlock的背景颜色值设错了。血淋淋的教训啊浪费了半天时间就因为自己的大意。遇到这种问题如果实在找不错问题,就一个一个剔除控件,找到出问题的控件。2.一个自定义ListView模板,看你是否用的上 ...
阅读全文
摘要:我们知道,文字的修饰包括:空心字、立体字、划线字、阴影字、加粗、倾斜等。这里只说划线字的修饰方式,按划线的位置,我们可将之分为:上划线、中划线、基线与下划线。如图:从上至下,分别为上划线(Overline),中划线(StrikeThrough),基线(Baseline)和下划线(Underline)。如何实现?(1)XAML代码:A这里 TextDecorations 属性可以设置为:OverLine, Strikethrough, Baseline, Underline或None,如果没有设置 TextDecorations 属性,则默认为 None,即不带划线修饰。(2)使用C#代码...
阅读全文
摘要:要开始使用命令,必须做三件事: 一:定义一个命令 二:定义命令的实现 三:为命令创建一个触发器 WPF中命令系统的基础是一个相对简单的ICommand的接口,代码如下:public interface ICommand { event EventHandler CanExecuteChanged; bool CanExecute(object parameter); void Execute(object parameter); } CanExecute用于确定命令是否处于可执行的状态。典型的,UI控件能使用CanExecute来启用或禁用自己。也就是说,在相关的命令从CanExecute中返
阅读全文
摘要:典型的,把模板关联到一块特定的数据上,不过通常希望动态的确定使用哪个模板---既可以基于一个属性值,也可以是一个全局状态。当真正需要大规模替换模板时,也可以使用DataTemplateSelector。 DataTemplateSelector提供了一个单一的方法----SelectTemplate,以允许通过执行任何逻辑来决定使用哪个模板。...
阅读全文
摘要:项目需要一个硬件检测功能,需要用到界面刷新,刚开始想用个定时器,对检测过的硬设定时添加后刷新界面。但是很遗憾,定时器并不能进行刷新。后台检测List数据里面已经添加了很多了很多数据了,就是不能显示到界面然后百度一下“WPF刷新界面”找了好几篇文章,大致都是如下代码: public class UIHelper : Application { //刷新界面 private static DispatcherOperationCallback exitFrameCallback = new DispatcherOperationCallb...
阅读全文
摘要:这次首先对以前的结构进行了调整:第一步:把MyButton按钮的属性独立成一个类,放在一个单独的MyButton.cs中,把图片的初始化也放到里面。调整代码如下:public class MyButton : Button { //图片的名称,用于判断两个按钮是否为同一个 public int Flag { get; set; } //Button所在行 public int RowNum { get; set; } //所在列 public int ColNum { get; set; } public MyButton(int flag...
阅读全文
摘要:一、如何从 Datagrid 中获得单元格的内容 DataGrid属于一种ItemsControl,因此,它有Items属性并且用ItemContainer封装它的items.但是,WPF中的DataGrid不同于Windows Forms中的DataGridView。在DataGrid的Items集合中,DataGridRow是一个Item,但是,它里面的单元格却是被封装在DataGridCellsPresenter的容器中;因此,我们不能使用像DataGridView.Rows.Cells这样的语句去获得单元格的内容。但是,在WPF中我们可以通过可视树(VisualTree)去进入到控..
阅读全文
摘要:一、WPF 中获取和设置鼠标位置 方法一:WPF方法 Point p = Mouse.GetPosition(e.Source as FrameworkElement); Point p = (e.Source as FrameworkElement).PointToScreen(pp); 方法二: API方法 /// /// 设置鼠标的坐标 /// /// 横坐标 /// 纵坐标 [DllImport("User32")] public e...
阅读全文
摘要:1.画个笑脸给大家娱乐一下: 效果如下:2.Xaml日期格式化3.让按钮有按钮的感觉,汗,不是废话吗,就是让按钮有按下去的感觉 ...
阅读全文
摘要:连连看算法第一步:我们考虑在同行或者同列的情况: 同行或者同列又分三种情况: 第一:边线,RowNum或者ColNum等于0或者9 第二:两个相邻 第三:同行不相邻,这种事有条件的,所在行(或列)的上下(或左右)紧邻行必须在两个按钮之间已全部消除?好,有出问题了,怎么根据已知的行和列,获取Button是否被消除呢?我们可以定义一个Button的二维数组。并在初始化的时候给它赋值 MyButton[,] maps=new MyButton[10,10]; maps[i, j] = btn;好,怎么获取Button是否隐藏已经解决。同行步相邻的又分是从上侧、右侧和中间连。 ...
阅读全文
摘要:第一步: 问题,怎样动态的建立一个10*10的grid(布局) for (int i = 0; i =1, /// MainWindow.xaml 的交互逻辑 /// public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); Add(); } public void Add() { Random random = n...
阅读全文
摘要:先建立一个button 方法一:绕左上角旋转 public void Transform1() { RotateTransform rtf = new RotateTransform(); trans.RenderTransform = rtf; DoubleAnimation dbAscending = new DoubleAnimation(0, 360, new Duration (TimeSpan.FromSeconds(1))); dbAscend...
阅读全文
摘要:因为想要修改wpf的启动方式,所以研究了下Application类,现把一些有用的属性与大家分享下:属性: Current 获取当前AppDomain的Application对象 MainWindow 获取或设置应用程序的主窗体。(下面详细介绍) Resources 获取或设置应用程序范围资源的集合,例如样式和画笔。 ShutdownMode 获取或设置会导致Shutdown方法调用的情况。 StartupUri 获取或设置自动显示的UI,当应用程序启动时。 Windows 获取在应用程序中...
阅读全文
摘要:本来想做一个模态提示窗口;结果成这样了黑呼呼的难看死了,找了白天在网上,都没有解决实际上很简单:只要把这个属性设为True就行了AllowsTransparency="True"实际效果图
阅读全文
摘要://全屏代码:private void Window_Loaded(object sender, RoutedEventArgs e){ // 设置全屏 this.WindowState = System.Windows.WindowState.Normal; this.WindowStyle = System.Windows.WindowStyle.None; this.ResizeMode = System.Windows.ResizeMode.NoResize; this.Topmost = true; this.Left = 0.0; this...
阅读全文
摘要:1.构造函数2.静态变量3.增加窗体属性public string name{set;get;}例如: public partial class Window1 : Window { public string name { get; set; } public int age { get; set; } public Window1() { InitializeComponent(); } }传值: private void Button_Click(object sender, Rou...
阅读全文