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. 182. 查找重复的电子邮箱 + group by + having

    182. 查找重复的电子邮箱 LeetCode_MySql_182 题目描述 方法一:使用笛卡尔积 # Write your MySQL query statement below select di ...

  2. 180. 连续出现的数字 + MySql + 连续出现数字 + 多表联合查询

    180. 连续出现的数字 LeetCode_MySql_180 题目描述 代码实现 # Write your MySQL query statement below select distinct t ...

  3. 漏洞复现-CVE-2016-4977-Spring远程代码执行

        0x00 实验环境 攻击机:Win 10 靶机也可作为攻击机:Ubuntu18 (docker搭建的vulhub靶场)(兼顾反弹shell的攻击机) 0x01 影响版本 Spring Secu ...

  4. Java线程安全问题

    线程安全问题是一个老生常谈的问题,那么多线程环境下究竟有那些问题呢?这么说吧,问题的形式多种多样的,归根结底的说是共享资源问题,无非可见性与有序性问题. 1. 可见性 可见性是对于内存中的共享资源来说 ...

  5. ASP.NET Core中间件初始化探究

    前言 在日常使用ASP.NET Core开发的过程中我们多多少少会设计到使用中间件的场景,ASP.NET Core默认也为我们内置了许多的中间件,甚至有时候我们需要自定义中间件来帮我们处理一些请求管道 ...

  6. idea自制模板代码快捷键

    一:/** 方法描述 /*** 功能描述: * @param: $param$ * @return: $return$ * @auther: $user$ * @date: */二./c** 类描述 ...

  7. JS逆向-抠代码的第四天【手把手学会抠代码】

    今天是md5巩固项目,该项目比昨天的复杂一些,但方法思路是一样的. 今天的目标:https://www.webportal.top/ 打开网站,填入账号密码(密码项目以123456做测试).点击登录抓 ...

  8. Get和Post区别(转载)

    转载自:https://www.cnblogs.com/logsharing/p/8448446.html GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一 ...

  9. MyEclipse安装过程

    1.安装JDK并配置环境变量 下载地址: https://www.oracle.com/technetwork/java/javase/downloads/index.html ①点击download ...

  10. 网络对抗技术Exp2-后门原理与实践

    后门概念 后门就是不经过正常认证流程而访问系统的通道. 哪里有后门呢? 编译器留后门 操作系统留后门 最常见的当然还是应用程序中留后门 还有就是潜伏于操作系统中或伪装为特定应用的专用后门程序. 下面是 ...