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 ...
随机推荐
- webstorm2020.3安装破解教程
免责声明:本教程及相关附件仅限于学术交流,不能用于商业以及违法用途,请于下载后24小时内删除!如产生法律纠纷,一切与本人无关,呼吁各位小伙伴支持下正版软件.本文如有侵权,请联系小编删除之. 该操作是用 ...
- 文件包含-phpinfo()
我也是听朋友说有这个姿势的,github有集成好的环境 先讲一下利用phpinfo上传文件,然后在文件包含的原理: 在给PHP发送POST数据包时,如果数据包里包含文件区块,无论访问的代码中是否有处理 ...
- 为什么要从 Linux 迁移到 BSD 5
为什么要从 Linux 迁移到 BSD 5 干净的分离 在 FreeBSD 的设计方式下,不同的组件组合在一起的,处理配置和调优,以及多年来开发和改进的所有工具,使得使用 FreeBSD 是一件很特别 ...
- 第三方API接口测试问题反馈文档
大家在给甲方做大型项目的时候,有时候参与的厂商比较多,而公司负责的部分又需要第三方厂商提供接口支持. 例如我们做医疗行业的,给医院提供医保控费系统服务的,就需要HIS厂商提供接口给我们采集数据.有时候 ...
- apk签名、包名
//通过各手机管理软件,如如360.豌豆荚等查看 //使用命令行,可以查看到permission.packagename.title.versionCode等 aapt dump badging ~/ ...
- 2017-2018 ACM-ICPC Northern Eurasia(A.Archery Tournament)
题目链接:https://vjudge.net/problem/Gym-101630A 题意: n个事件,t=1 代表增加一个圆心为(x,y),半径为 abs(y)的靶子,t=2,代表射击的坐标为(x ...
- 攻防世界 reverse android-app-100
android-app-100 suctf-2016 jeb启动,找到点击事件: 验证流程: 输入作为参数 --> processObjectArrayFromNative 得到一返回值(r ...
- 【linux】制作deb包方法 **
目录 前言 概念 ** 创建自己的deb包 文件源码 前言 制作deb的方式很多 使用 dpkg-deb 方式 使用 checkinstall 方式 使用 dh_make 方式 修改原有的 deb 包 ...
- 隐藏页面元素 css
一.前言 在平常的样式排版中,我们经常遇到将某个模块隐藏的场景 通过css隐藏元素的方法有很多种,它们看起来实现的效果是一致的 但实际上每一种方法都有一丝轻微的不同,这些不同决定了在一些特定场合下使用 ...
- 庐山真面目之十二微服务架构基于Docker搭建Consul集群、Ocelot网关集群和IdentityServer版本实现
庐山真面目之十二微服务架构基于Docker搭建Consul集群.Ocelot网关集群和IdentityServer版本实现 一.简介 在第七篇文章<庐山真面目之七微服务架构Consul ...