WPF
爱编程的小菜媛
编程小白正在努力进阶的路上
展开
-
WPF 解决listview值更改时页面没有刷新
WPF 解决listview值更改时页面没有刷新。原创 2022-09-29 15:47:07 · 1147 阅读 · 0 评论 -
WPF .cs中使用资源文件中的ControlTemplate或Style并找到控件
WPF.cs中使用资源文件中的ControlTemplate或Style并找到控件。原创 2022-08-02 14:17:28 · 647 阅读 · 0 评论 -
WPF Initialized事件在.cs中绑定不被触发的原因
原因一:绑定顺序的问题,若想执行此事件,需绑定在InitializeComponent()之前原创 2022-06-28 17:25:54 · 300 阅读 · 0 评论 -
WPF TabControl切换TabItem时没有SelectionChanging
问题:WPF TabControl切换TabItem时没有SelectionChanging事件解决方案:可以用TabItem的PreviewMouseLeftButtonDown事件代替XAML中:.cs中:原创 2022-06-15 16:13:11 · 2460 阅读 · 2 评论 -
WPF 窗体设置为WindowStyle=“None“后Maximized会覆盖任务栏
解决方案:在Window的XAML里加MaxHeight="{StaticResource {x:Static SystemParameters.MaximizedPrimaryScreenHeightKey}}"原创 2022-05-12 15:42:11 · 574 阅读 · 0 评论 -
SpeechSynthesizer 异步正在播放语音突然关闭窗口报错
System.Speech.Synthesis.SpeechSynthesizer SpeechSynthesizer = new System.Speech.Synthesis.SpeechSynthesizer(); public void boFangYuyin() { try { System.Threading.Tasks.Task.Factory.StartNew(boFangYuyinAction); .原创 2021-05-13 11:50:03 · 744 阅读 · 0 评论 -
WPF TabControl切换选项卡缓慢
原因:切换选项卡时会卸载TabItem内的用户控件,再次点击时会重新加载用户控件,如果主要的逻辑代码位于用户控件的Loaded事件中,将会再执行一遍,导致缓慢。解决方案:将Loaded事件内的代码移至初始化控件中...原创 2022-04-24 15:24:43 · 2329 阅读 · 0 评论 -
通过WinForm控件创建的WPF控件无法输入的问题
在那个机器上用英文输入法无法输入数字,非要切换到中文输入法才行;但在我的机器上却是好好的。最开始以为是输入法的问题,弄了好一阵子后,终于找到了原因:虽然这个程序是个WPF程序,但为了复用之前的部分代码,使用着一个WinForm的菜单控件,后续的子窗口都是通过这个WinForm菜单创建的。而用WinForm控件创建的WPF控件可能出现无法正确响应键盘事件的情况。找到了原因后,一个常规的解决方法是:将WinForm控件换成WPF控件,如果WinForm控件比较容易替换的话用这种方式是可以一次性的解决问题的。原创 2022-04-21 19:07:41 · 581 阅读 · 0 评论 -
WPF RichTextBox赋值与取值
赋值: richTextBox1.Document.Blocks.Clear(); Run run = new Run(innerMessage); Paragraph p = new Paragraph(); p.Inlines.Add(run); richTextBox1.Document.Blocks.Add(p);取值:TextRange textRange = ne原创 2022-04-21 16:36:44 · 1838 阅读 · 0 评论 -
WPF学习笔记——概述
如果你选择WPF,多半原因是因为折服于它那震撼性的用户体验。纵观WPF整个知识体系,其内容并不复杂,但却比较细碎,不易理清。以下内容是对WPF部分内容的简单概括,希望读者能够对WPF框架有个大体认识。一 常用类型与继承树WPF的常用类型如下: 二 分辨率无关性WPF使用设备无关单位度量。一个设备无关单位被定义为1/96英寸。WPF使用下面的公式进行计算:[物理单位尺寸]=[设备无关单位尺寸]*[系统DPI]三 WPF缺少的功能与Windows窗体相比 缺少类似以下功能或控件:MaskedT转载 2022-04-21 16:14:30 · 220 阅读 · 0 评论 -
WPF退出窗口方法
一、WPF启动窗口方法public partial class App : Application{ protected override void OnStartup(StartupEventArgs e) { this.StartupUri = new Uri("MainWindow.xaml", UriKind.Relative); base.OnStartup(e); }}二、WPF退出窗口方法1、关闭当前窗口this.Clos原创 2022-04-20 14:19:31 · 7720 阅读 · 0 评论 -
WPF-疑难问题-xaml编码导致中文字符编译无效
问题:xaml编码导致中文字符编译无效解决方案:修改文件编码Visual Studio 2019修改编码UTF-8文字步骤VS 2019隐藏了高级保存功能,导致没办法直接去设置代码编码 UTF-8。那么我们直接把高级保存功能调用出来即可:单击“工具”|“自定义”命令,弹出“自定义”对话框。单击“命令”标签,进入“命令”选项卡。在“菜单栏”下拉列表中,选择“文件”选项。单击“添加命令”按钮,弹出“添加命令”对话框。在“类别”列表中,选择“文件”选项;在“命令”列表中,选择“高级保存选项”原创 2022-04-20 10:35:02 · 623 阅读 · 0 评论 -
【WPF学习】 使用其他名称空间中的类型
为使用未在WPF名称空间中定义的类。需要将.NET名称空间映射到XML名称空间。XAML有一种特殊的语法可用于完成这一工作,该语法如下所示:xmlns:Prefix=“clr-namespace:Namespace;assembly=AssemblyName”通常,在XAML文档的根元素中,在紧随声明WPF和XAML名称空间的特性之后放置这个名称空间。还需要使用适当的信息填充三个斜体部分,这三部分的含义如下:Prefix是希望在XAML标记中用于指示名称空间的XML前缀。例如,XAML语法使用x前缀。原创 2022-04-19 17:02:21 · 427 阅读 · 0 评论 -
wpf - 打开WPF用户控件winform窗口缩小父winform窗口
简单暴力方法调用wpf窗口改变了原程序窗体的style,或者是winform程序启动时应用的style跟wpf设置的style不一样。如果new一个wpf window,wpf内部更改了程序的style,那么就回解决这种变形情况。在winform 的program.cs 中加入new WPFTextForm()(随便一个wpf窗体); 语句。方法奇葩...原创 2022-04-13 14:04:42 · 699 阅读 · 0 评论 -
WPF 获取当前TreeView的TreeViewItem
#region 获取控件 //获取当前TreeView的TreeViewItem public TreeViewItem GetParentObjectEx<TreeViewItem>(DependencyObject obj) where TreeViewItem : FrameworkElement { DependencyObject parent = VisualTreeHelper.GetParent(obj);原创 2022-04-12 11:35:57 · 1346 阅读 · 0 评论 -
wpf 的 Window或UserControl绑定自己后台属性
后台:public string Name{get;set;}XAML 三种绑定方式:1.<Window> {Binding Name, RelativeSource={RelativeSource FindAncestor, AncestorType=Window}}</Window><Window x:Name="Wd"> <TextBlock Text="{Binding Name, ElementName=Wd}"原创 2022-04-12 09:42:18 · 2019 阅读 · 0 评论 -
WPF自定义控件踩坑记录,用户自定义控件 绑定后台定义的 命令 依赖项属性 注意事项 静态
项目中做了一个拼音键盘的自定义控件,主要作用是在该控件上打字并输出到引用的页面上。由于代码中有很多按钮,这些按钮的Command都被绑定到自定义控件的后台代码的一个静态命令上了。。。。。。。复制代码 private static readonly RoutedCommand _clickCmd = new RoutedCommand("ClickCmd", typeof(FullKeyboardWithPinyin)); public static RoutedCommand ClickC转载 2022-04-12 09:34:14 · 482 阅读 · 0 评论 -
Winform控件在WPF中的样式和真正WinForm窗体内的不同
原因:引用于https://www.zhihu.com/question/48925705WPF 项目在默认没有内嵌某个 manifest 或没有调用某 API 的情况下默认使用 Version 5 的 ComCtl32.dll,而只有 Version 6 的才会让系统控件显示成现在系统真正的样子解决方法也很简单——找个有声明使用 ComCtl32.dll Version 6 的 manifest 添加到项目并在项目属性里指定它,或者在 App.OnStartup() 里直接调用 System.Windo原创 2022-04-07 16:43:47 · 191 阅读 · 0 评论