WPF小经验
Binding.IsAsync当属性值填充好后,与该属性绑定的界面才会开始加载(属性绑定优于控件加载)
private IList<string> _list;
public IList<string> List
{
get
{
System.Threading.Thread.Sleep(3000);
//省略代码
return _list;
}
}
首先想到的是在后台异步取数据,其实还有一个更简单的方法就是在绑定时将IsAsync设置为True
<ListBox ItemsSource="{Binding List, IsAsync=True, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type local:MainWindow}}}"
Height="179" HorizontalAlignment="Left" Margin="76,31,0,0" Name="listBox1" VerticalAlignment="Top" Width="135" />
使用鼠标滚轮控制ListBox水平滚动条滚动
list.AddHandler(ListBox.MouseWheelEvent, new MouseWheelEventHandler(list_MouseWheel), true); 获得LisBox的ScrollViewer
public static T FindVisualChild<T>(DependencyObject obj) where T : DependencyObject
{
if (obj != null)
{
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(obj); i++)
{
DependencyObject child = VisualTreeHelper.GetChild(obj, i);
if (child != null && child is T)
{
return (T)child;
}
T childItem = FindVisualChild<T>(child);
if (childItem != null) return childItem;
}
}
return null;
}
private void list_MouseWheel(object sender, MouseWheelEventArgs e)
{
ItemsControl items = (ItemsControl)sender;
ScrollViewer scroll = FindVisualChild<ScrollViewer>(items);
if (scroll != null)
{
int d = e.Delta;
if (d < 0)
{
scroll.LineRight();
}
if (d > 0)
{
scroll.LineLeft();
}
scroll.ScrollToTop();
}
}
为什么不能从外部拖拽文件到管理员权限的程序中?
Windows Vista之后,规定非Adminstrator的进程无法drag&drop数据给Adminstrator的进程。由于EasiNote经常处于Adminstrator模式,所以无法从Explorer.exe中拖拽文件进去。
在win8下可以通过关闭UAC实现拖拽
HKEY_LOCAL_MACHINE > SOFTWARE > Microsoft > Windows > CurrentVersion > Policies > System,中的EnableLUA键值修改为0
但是此举会导致win8 Metro应用不能打开
手势滑动ScrollViewer
在ScrollViewer(或ScrollView中的子元素)上设置ScrollViewer.PanningMode属性可以实现支持手势滑动的ScrollViewer。
以这种方式实现手势滑动的ScrollViewer,在滑到顶部时继续下拉,会出现整个窗口被轻微拖动的现象(类似iOS的下拉回弹)。如果想禁用这种现象,
需要重写窗口的OnManipulationBoundaryFeedback方法,且不在其中调用父类的OnManipulationBoundaryFeedback方法。
protected override void OnManipulationBoundaryFeedback(ManipulationBoundaryFeedbackEventArgs e)
{
}
如何禁止触摸长按激发鼠标右键事件
在指定元素上设置 Stylus.IsPressAndHoldEnabled="False"即可达到效果。
TextBlock的文本溢出时,文本截取方式
TextBlock.TextTrimming截取溢出文本,
CharacterEllipsis 按照字符截取
WordEllipsis 按照单词截取
如何去除触摸点击反馈的“小圆点”
Stylus.IsTapFeedbackEnabled="False" 即可达到效果。
相关
附加属性名称
|
说明
|
备注
|
---|---|---|
Stylus.IsTapFeedbackEnabled | 获取或设置一个值,该值指示是否启用了点击反馈。 | 在 Windows Vista 中,在用户点击控件时会出现小动画。 默认情况下,在 InkCanvas 上点击反馈处于禁用状态。 在所有其他控件上则处于启用状态。 |
Stylus.IsTouchFeedbackEnabled | 获取或设置一个值,该值指示是否启用了触摸反馈。 | 在 Windows Vista 中,在用户用手指触摸控件时会出现小动画。 默认情况下,在 InkCanvas 上触摸反馈处于禁用状态。 在所有其他控件上则处于启用状态。 |
Stylus.IsFlicksEnabled | 获取或设置一个值,该值指示是否启用了笔势。 | 在 Windows Vista 中,笔势(可能的系统笔势之一)是指可以映射到导航或快捷方式命令的具有短、直、快特点的笔画。 默认情况下,在 InkCanvas、InkPresenter 和 ScrollBar 上禁用笔势。 在所有其他控件上笔势处于启用状态。 |
Stylus.IsPressAndHoldEnabled | 获取或设置一个值,该值指示是否启用了按住。 | 按住将映射为单击鼠标右键。 在 Windows Vista 中,如果您预见到用户可能会按住触笔而不打算模拟右击,则可以禁用此行为。(例如禁止触摸长按触发鼠标右键事件) |
WPF小经验的更多相关文章
- 你应该知道的那些Android小经验
原文出处:http://jayfeng.com/ 做Android久了,就会踩很多坑,被坑的多了就有经验了,闲暇之余整理了部分,现挑选一些重要或者偏门的“小”经验做个记录. 查看SQLite日志 ad ...
- Android开发的16条小经验总结
Android开发的16条小经验总结,希望对各位搞Android开发的朋友有所帮助. 1. TextView中的getTextSize返回值是以像素(px)为单位的, 而setTextSize()是以 ...
- Android小经验
转载自:http://mp.weixin.qq.com/s?__biz=MzA4MjU5NTY0NA==&mid=404388098&idx=1&sn=8bbbba7692dc ...
- WPF 小矢量图 : 主页,返回,加,减,文字按钮,左移,右移
原文:WPF 小矢量图 : 主页,返回,加,减,文字按钮,左移,右移 代码:: <UserControl x:Class="SQ.TestPage" xmlns=" ...
- gulp+webpack+angular1的一点小经验(第二部分webpack包起来的angular1)
又一周过去了,项目也已经做得有点模样了.收集来一些小经验,分享给大家,有疏漏之处,还望指正,海涵. 上周整合了gulp与webpack,那么工具准备差不多了,我们就开始编码吧.编码的框架就是angul ...
- 分享调试SI4432的一些小经验(转)
分享调试SI4432的一些小经验 最近使用 STM8F103 + SI4432 调无线,遇到问题不少,此处有参考过前辈的经验: 1.硬件把板给到我时USB烧录线带供电(5V),此供电接到LDO输出,就 ...
- 年度巨献-WPF项目开发过程中WPF小知识点汇总(原创+摘抄)
WPF中Style的使用 Styel在英文中解释为”样式“,在Web开发中,css为层叠样式表,自从.net3.0推出WPF以来,WPF也有样式一说,通过设置样式,使其WPF控件外观更加美化同时减少了 ...
- 2000条你应知的WPF小姿势 基础篇<78-81 Dialog/Location/WPF设备无关性>
在正文开始之前需要介绍一个人:Sean Sexton. 来自明尼苏达双城的软件工程师.最为出色的是他维护了两个博客:2,000ThingsYou Should Know About C# 和 2,00 ...
- 2000条你应知的WPF小姿势 基础篇<74-77 WPF 多窗口Tips>
在正文开始之前需要介绍一个人:Sean Sexton. 来自明尼苏达双城的软件工程师.最为出色的是他维护了两个博客:2,000ThingsYou Should Know About C# 和 2,00 ...
随机推荐
- 剑指 Offer 49. 丑数 + 小根堆 + 动态规划
剑指 Offer 49. 丑数 Offer_49 题目详情 解法一:小根堆+哈希表/HashSet 根据丑数的定义,如果a是丑数,那么a2, a3以及a*5都是丑数 可以使用小根堆存储按照从小到大排序 ...
- java 方法详解
什么是方法 方法的定义和调用 值传递与引用传递 值传递:指的是在方法调用时,传递的是参数是按值的拷贝传递. 特点:传递的是值的拷贝,也就是传递后就互不相关了. 引用传递:指的是在方法调用时,传递的参数 ...
- Java 语言基础 01
语言基础·一级 什么是计算机? 计算机(Computer)全称:电子计算机,俗称电脑.是一种能够按照程序运行,自动.高速处理海量数据的现代化智能电子设备.由硬件和软件所组成,没有安装任何软件的计算机称 ...
- RabbitMQ简介、安装、基本特性API--Java测试
新的阅读体验地址:http://www.zhouhong.icu/post/141 本篇文章所有的代码:https://github.com/Tom-shushu/Distributed-system ...
- 【odoo14】第二章、管理odoo实例
本章主要介绍肖odoo实例添加用户自定义的模块.你可以从多个路径载入模块.但是建议你将自己的模块儿放在特定的目录当中,避免与odoo的核心模块混淆. 在这一章节,中我们主要涉及以下内容: 配置插件路径 ...
- 代码审查:从 ArrayList 说线程安全
本文从代码审查过程中发现的一个 ArrayList 相关的「线程安全」问题出发,来剖析和理解线程安全. 案例分析 前两天在代码 Review 的过程中,看到有小伙伴用了类似以下的写法: List< ...
- 欢迎参加3月活动:AWS 在线研讨会与阿里云 RISC-V 应用创新大赛
3月份我们在帮合作云厂商 Amazon Web Services(AWS) 与阿里云推广2个活动,欢迎感兴趣的园友参加. 活动一:亚马逊云科技在线研讨会:借助 DGL 实现实时欺诈检测 博客园专属报名 ...
- 后台开发-核心技术与应用实践--TCP协议
网络模型 为使不同计算机厂家的计算机能够互相通信,国际标准化组织 ISO 1981 年正式推荐了一个网络系统结构一一七层参考模型,也叫作开放系统互连模型. ISO 七层网络模型及其功能展示: 这个七层 ...
- 翻译:《实用的Python编程》06_02_Customizing_iteration
目录 | 上一节 (6.1 迭代协议) | 下一节 (6.3 生产者/消费者) 6.2 自定义迭代 本节探究如何使用生成器函数自定义迭代. 问题 假设你想要自定义迭代模式. 例如:倒数: >&g ...
- (四)SpringBoot启动过程的分析-预处理ApplicationContext
-- 以下内容均基于2.1.8.RELEASE版本 紧接着上一篇(三)SpringBoot启动过程的分析-创建应用程序上下文,本文将分析上下文创建完毕之后的下一步操作:预处理上下文容器. 预处理上下文 ...