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中拖拽文件进去。

具体见http://blogs.msdn.com/b/patricka/archive/2010/01/28/q-why-doesn-t-drag-and-drop-work-when-my-application-is-running-elevated-a-mandatory-integrity-control-and-uipi.aspx

在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小经验的更多相关文章

  1. 你应该知道的那些Android小经验

    原文出处:http://jayfeng.com/ 做Android久了,就会踩很多坑,被坑的多了就有经验了,闲暇之余整理了部分,现挑选一些重要或者偏门的“小”经验做个记录. 查看SQLite日志 ad ...

  2. Android开发的16条小经验总结

    Android开发的16条小经验总结,希望对各位搞Android开发的朋友有所帮助. 1. TextView中的getTextSize返回值是以像素(px)为单位的, 而setTextSize()是以 ...

  3. Android小经验

    转载自:http://mp.weixin.qq.com/s?__biz=MzA4MjU5NTY0NA==&mid=404388098&idx=1&sn=8bbbba7692dc ...

  4. WPF 小矢量图 : 主页,返回,加,减,文字按钮,左移,右移

    原文:WPF 小矢量图 : 主页,返回,加,减,文字按钮,左移,右移 代码:: <UserControl x:Class="SQ.TestPage" xmlns=" ...

  5. gulp+webpack+angular1的一点小经验(第二部分webpack包起来的angular1)

    又一周过去了,项目也已经做得有点模样了.收集来一些小经验,分享给大家,有疏漏之处,还望指正,海涵. 上周整合了gulp与webpack,那么工具准备差不多了,我们就开始编码吧.编码的框架就是angul ...

  6. 分享调试SI4432的一些小经验(转)

    分享调试SI4432的一些小经验 最近使用 STM8F103 + SI4432 调无线,遇到问题不少,此处有参考过前辈的经验: 1.硬件把板给到我时USB烧录线带供电(5V),此供电接到LDO输出,就 ...

  7. 年度巨献-WPF项目开发过程中WPF小知识点汇总(原创+摘抄)

    WPF中Style的使用 Styel在英文中解释为”样式“,在Web开发中,css为层叠样式表,自从.net3.0推出WPF以来,WPF也有样式一说,通过设置样式,使其WPF控件外观更加美化同时减少了 ...

  8. 2000条你应知的WPF小姿势 基础篇<78-81 Dialog/Location/WPF设备无关性>

    在正文开始之前需要介绍一个人:Sean Sexton. 来自明尼苏达双城的软件工程师.最为出色的是他维护了两个博客:2,000ThingsYou Should Know About C# 和 2,00 ...

  9. 2000条你应知的WPF小姿势 基础篇<74-77 WPF 多窗口Tips>

    在正文开始之前需要介绍一个人:Sean Sexton. 来自明尼苏达双城的软件工程师.最为出色的是他维护了两个博客:2,000ThingsYou Should Know About C# 和 2,00 ...

随机推荐

  1. 剑指 Offer 49. 丑数 + 小根堆 + 动态规划

    剑指 Offer 49. 丑数 Offer_49 题目详情 解法一:小根堆+哈希表/HashSet 根据丑数的定义,如果a是丑数,那么a2, a3以及a*5都是丑数 可以使用小根堆存储按照从小到大排序 ...

  2. java 方法详解

    什么是方法 方法的定义和调用 值传递与引用传递 值传递:指的是在方法调用时,传递的是参数是按值的拷贝传递. 特点:传递的是值的拷贝,也就是传递后就互不相关了. 引用传递:指的是在方法调用时,传递的参数 ...

  3. Java 语言基础 01

    语言基础·一级 什么是计算机? 计算机(Computer)全称:电子计算机,俗称电脑.是一种能够按照程序运行,自动.高速处理海量数据的现代化智能电子设备.由硬件和软件所组成,没有安装任何软件的计算机称 ...

  4. RabbitMQ简介、安装、基本特性API--Java测试

    新的阅读体验地址:http://www.zhouhong.icu/post/141 本篇文章所有的代码:https://github.com/Tom-shushu/Distributed-system ...

  5. 【odoo14】第二章、管理odoo实例

    本章主要介绍肖odoo实例添加用户自定义的模块.你可以从多个路径载入模块.但是建议你将自己的模块儿放在特定的目录当中,避免与odoo的核心模块混淆. 在这一章节,中我们主要涉及以下内容: 配置插件路径 ...

  6. 代码审查:从 ArrayList 说线程安全

    本文从代码审查过程中发现的一个 ArrayList 相关的「线程安全」问题出发,来剖析和理解线程安全. 案例分析 前两天在代码 Review 的过程中,看到有小伙伴用了类似以下的写法: List< ...

  7. 欢迎参加3月活动:AWS 在线研讨会与阿里云 RISC-V 应用创新大赛

    3月份我们在帮合作云厂商 Amazon Web Services(AWS) 与阿里云推广2个活动,欢迎感兴趣的园友参加. 活动一:亚马逊云科技在线研讨会:借助 DGL 实现实时欺诈检测 博客园专属报名 ...

  8. 后台开发-核心技术与应用实践--TCP协议

    网络模型 为使不同计算机厂家的计算机能够互相通信,国际标准化组织 ISO 1981 年正式推荐了一个网络系统结构一一七层参考模型,也叫作开放系统互连模型. ISO 七层网络模型及其功能展示: 这个七层 ...

  9. 翻译:《实用的Python编程》06_02_Customizing_iteration

    目录 | 上一节 (6.1 迭代协议) | 下一节 (6.3 生产者/消费者) 6.2 自定义迭代 本节探究如何使用生成器函数自定义迭代. 问题 假设你想要自定义迭代模式. 例如:倒数: >&g ...

  10. (四)SpringBoot启动过程的分析-预处理ApplicationContext

    -- 以下内容均基于2.1.8.RELEASE版本 紧接着上一篇(三)SpringBoot启动过程的分析-创建应用程序上下文,本文将分析上下文创建完毕之后的下一步操作:预处理上下文容器. 预处理上下文 ...