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. CVE-2019-11043-Nginx PHP 远程代码执行

    漏洞原因 Nginx 上 fastcgi_split_path_info 在处理带有 %0a 的请求时,会因为遇到换行符 \n 导致 PATH_INFO 为空.而 php-fpm 在处理 PATH_I ...

  2. 爬虫入门到放弃系列05:从程序模块设计到代理IP池

    前言 上篇文章吧啦吧啦讲了一些有的没的,现在还是回到主题写点技术相关的.本篇文章作为基础爬虫知识的最后一篇,将以爬虫程序的模块设计来完结. 在我漫(liang)长(nian)的爬虫开发生涯中,我通常将 ...

  3. Codeforces 1015E1 Stars Drawing (Easy Edition)

    题面: 传送门 题目描述: 要求用十字星星来画题目给出的"星"图.如果不能用十字星星来画"星"图,输出-1:如果能,则输出要在图的哪个位置画相应大小的十字星图. ...

  4. mysql最权威的总结

    1.数据库操作 create database person charset utf8; -- 创建数据库show DATABASES; -- 查看数据库drop database person; - ...

  5. IPFS挖矿的成本有哪些?

    IPFS作为区块链新贵,近来风头一时无量.截止3月9日,Filecoin以257亿的流通市值超越门罗币,稳居区块链流通排行榜. 无论什么投资,其门槛一定在成本.今天就和大家细说投资市面上常见实体矿机的 ...

  6. P1049_装箱问题(JAVA语言)

    思路:动态规划的背包问题.使箱子剩余空间最小,也就是使箱内装的物品体积达到最大,我们可将物品的体积视为价值,然后按照01背包问题求解即可. //直接上模板 题目描述 有一个箱子容量为VV(正整数,0 ...

  7. 1、Spring教程之Spring概述

    1.Spring概述 简介 Spring : 春天 --->给软件行业带来了春天 2002年,Rod Jahnson首次推出了Spring框架雏形interface21框架. 2004年3月24 ...

  8. docker使用常见问题解决方案:错误号码2058,docker WARNING :IPv4,容器间的通讯

    1.错误号码2058 1,错误解决: 解决方法:docker下mysql容器 登录 mysql -u root -p 登录你的 mysql 数据库,然后 执行这条SQL: ALTER USER 'ro ...

  9. java面试一日一题:java线程池

    问题:请讲下java中的线程池 分析:在面试中经常问到线程池的问题,要掌握其基本概念,使用方法,注意事项等,引申下tomcat中默认的线程数是多少 回答要点: 主要从以下几点去考虑, 1.为什么要使用 ...

  10. 幻灯片放映模式切换windows terminal背景图片

    目录 幻灯片放映模式切换windows terminal背景图片 脚本功能 开发需求 使用技术 操作说明 使用示例 查看帮助 输入参数使用 脚本详情 引用参考 幻灯片放映模式切换windows ter ...