随笔分类 - WPF
摘要:在写WPF的时候配置文件app.config 读取的办法 -- 【可以直接安装 Microsoft.VisualStudio.SlowCheetah.vsix】 <?xml version="1.0" encoding="utf-8" ?> <configuration> <appSettings>
阅读全文
摘要:故事是这样的: WPF做一个高性能摄像头采集且显示画面,但是我的C#没有实现直接使用GPU渲染画面,因此在做显示的时候占用CPU过高。 后同事使用C++写了个库, 让我传给他一个窗口句柄,他就来渲染。OK采用WPF里内嵌一个winformHost, 取一个句柄给他,画上。 以为故意就在这告一段落了。
阅读全文
摘要:记录一次有趣的BUG的历程,现象是这样: 有一个常驻全屏的软件,他有一个设置点切换桌面功能,这个功能正常。没问题。 后来,有了一个新要求,需要增加一个临时的应用程序(常驻桌面全屏的是在一个大一体机上 86寸或100寸,每次切换需要点设置,切换非常不方便), 随便人在哪 五指按着不放就在所在的地方弹出
阅读全文
摘要:Timer = new DispatcherTimer(new TimeSpan(0, 0, 0, 0, 500), DispatcherPriority.Background, Timer_Tick, Dispatcher.CurrentDispatcher); 很正常的增加了一个定时器,奈何死活
阅读全文
摘要:1 引用Prism.DryIOC 2 xmlns:prism="http://prismlibrary.com/" Application 改成 prism:PrismApplication 3 Windows xmal中增加 prism:ViewModelLocator.AutoWireViewM
阅读全文
摘要:写WPF的多线程一定离不开这两个东西,但是一些偶尔中发现项目中同事功能我多线程调用的时候发现线程安全问题, 一查,他们都把核心操作都放在了UI线程中操作呀 还是全局大范围的直接放Application.Current.Dispatcher.Invoke, 但是依然出现,细查后发现,有的人使用的是Ap
阅读全文
摘要:在写WPF触摸时,时常发现能点不能滑 System.Windows.Input.Tablet.TabletDevices.Count = 0 , (new Windows.Devices.Input.TouchCapabilities()).TouchPresent 此时发现 在此记录,后面有空跟进
阅读全文
摘要:先看一张图 在更改系统的百分比缩放的时候,我们的WPF程序书写好固定的宽高时,会因为这个的变化而变化。但是此时的宽高值是不变的。 因此可以认为WPF中的元素的宽高值是和系统当前的DPI相关统一的。Windows使用此来让WPF随UI的变化而变化 看似这个设计非常的好,而实际的情况是变大或变小后,UI
阅读全文
摘要:二、WPF退出窗口方法 1、强制退出,即使有其他的线程没有结束 Environment.Exit(0);2、关闭当前程序,如果有其他线程没有结束,不会关闭 System.Windows.Application.Current.Shutdown(); 3、强制终止当前进程,不仅关闭应用程序,还会关闭所
阅读全文
摘要:WPF的初始化的顺序 /// <summary> /// MainWindow.xaml 的交互逻辑 /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent
阅读全文
摘要:WPF项目中,常状置前的菜单, 控件设备TopMost =true,插拔USB引起触摸点击无效,但鼠标有效果, 怀疑是抢焦点,虽然还是置顶状态,但没有了焦点引起了触摸点击失效,( 如果不设置TopMost =true 不会出现此故障) protected override void OnDeacti
阅读全文
摘要:1、显示窗体 构造函数 Show()、ShowDialog()方法:Show()方法显示非模态窗口,这意味着应用程序所运行的模式允许用户在同一个应用程序中激活其他窗口。ShowDialog()方法显示模态窗口,这个基本和WinForm类似 当初始化窗口时,将引发 SourceInitialized
阅读全文
摘要:[DllImport("user32.dll")] static extern int GetSystemMetrics(int nIndex); private const int SM_DIGITIZER = 94; private const int SM_MAXIMUMTOUCHES = 9
阅读全文
摘要:在窗口的XAML文件中添加以下属性: ShowInTaskbar="False" WindowStyle="None" AllowsTransparency="True" Background="Transparent" window.IsHitTestVisible = false; // 设置为
阅读全文
摘要:Timer是在ThreadPool线程池中执行的,每当计时器到期时,就会创建一个线程来执行事件处理程序。这种实现方式可能会导致一些问题,例如计时器事件处理程序可能会与主线程竞争资源,从而导致性能问题。此外,如果计时器事件处理程序抛出未处理的异常,那么将导致应用程序崩溃。 相比之下,Dispatche
阅读全文
摘要:失败案例 <Border CornerRadius="3" Width="100" Height="100"> <StackPanel Background="Red"></StackPanel> </Border> 换成下面就成功?为什么? <Border CornerRadius="3" Bac
阅读全文
摘要:如果在构造函数中设置会出现为空 HwndSource source = PresentationSource.FromVisual(this) as HwndSource; 此时 source = null, 所以就该放在加载事件中 void Main() { var window = new Wi
阅读全文
摘要:系统分辨率变化,全屏WPF的UI出现没更新和白底之类的现象记录。 您可以使用SystemParameters.WorkArea。最初设置MainWindow的MaxHeight。 在MainWindow后面的代码中注册到SystemParameters.StaticPropertyChanged,以
阅读全文
摘要:日常使用最多的控件有6类: 1. 布局控件:可以容纳多个控件或嵌套其他布局控件,例如Grid、StackPanel、DockPanel等,有共同的父类Panel 2. 内容控件:只能容纳一个其他控件或布局控件作为它的内容,例如Window、Button等,有共同的父类ContentControl 3
阅读全文