[转]WPF——Thumb

Thumb类,表示可由用户拖动的控件。其主要三个事件分别DragDelta,DragStarted,DragCompleted.

DragDelta——当 Thumb 控件具有逻辑焦点和鼠标捕获时,随着鼠标位置更改发生一次或多次。

DragStarted——在 Thumb 控件接收逻辑焦点和鼠标捕获时发生。

DragCompleted——在 Thumb 控件失去鼠标捕获时发生。

 1  <Window.Resources> 2     <ResourceDictionary> 3       <ControlTemplate x:Key="template1"> 4                 <Ellipse Width="60" Height="30"> 5                     <Ellipse.Fill> 6                         <SolidColorBrush Color="Black"></SolidColorBrush> 7                     </Ellipse.Fill> 8                 </Ellipse> 9             </ControlTemplate>10     </ResourceDictionary>11   </Window.Resources>12   13   <Canvas Name="myCanvas">14     <Thumb Name="myThumb" DragDelta="onDragDelta" Background="Blue"  DragStarted="myThumb_DragStarted" DragCompleted="myThumb_DragCompleted"15            Canvas.Left="0" Canvas.Top="0"  Width="200" Height="200"/>16 17         <!--Template="{StaticResource template1}",若此处采用此种方法为Thumb绑定模版,是无法通过DragStarted,DragCompleted事件来改变其背景的-->18     </Canvas>

 1    void onDragDelta(object sender, DragDeltaEventArgs e) 2         { 3             Canvas.SetLeft(myThumb, Canvas.GetLeft(myThumb) + e.HorizontalChange); 4                                         5             Canvas.SetTop(myThumb, Canvas.GetTop(myThumb) +  e.VerticalChange); 6                                        7         } 8  9         private void myThumb_DragStarted(object sender, DragStartedEventArgs e)10         {11             myThumb.Background = Brushes.Orange;12         }13 14         private void myThumb_DragCompleted(object sender, DragCompletedEventArgs e)15         {16             myThumb.Background = Brushes.Blue;17         }

时间: 2024-10-27 14:10:57

[转]WPF——Thumb的相关文章

WPF: 旋转Thumb后,DragDelta移动距离出错的解决

当Thumb跟随Grid旋转90度后,拖拽控件时会飞掉. <Grid x:Name="gridMain" Width="100" Height="50" Background="Green" RenderTransformOrigin="0.5,0.5" Canvas.Left="100" Canvas.Top="100"> <Grid.Render

【C#/WPF】用Thumb做可拖拽的UI控件

原文:[C#/WPF]用Thumb做可拖拽的UI控件 需求:简单的可拖拽的图片 使用System.Windows.Controls.Primitives.Thumb类 前台: <Canvas x:Name="g"> <Thumb Canvas.Left="10" Canvas.Top="20" Canvas.ZIndex="99" DragDelta="Thumb_DragDelta"&g

WPF DataGrid自定义样式

WPF DataGrid自定义样式 微软的WPF DataGrid中有很多的属性和样式,你可以调整,以寻找合适的(如果你是一名设计师).下面,找到我的小抄造型的网格.它不是100%全面,但它可以让你走得很远,有一些非常有用的技巧和陷阱. 在DataGrid中的最高水平,你可以改变的外观和感觉,通过设置一些: Property Type Values Default AlternatingRowBackground Brush Any Brush Null Background Brush Any

基于&lt;MediaElement&gt;的WPF视频播放器(带部分特效)【2】

一.前言       上回说到需要做放视频的使用向导,这两天公司里的老司机一直帮我答疑解惑,让这个任务变得挺顺的,真心感谢他们! 这次与[1]中的不同之处在于: (1)播放和暂停按钮集成在<MediaElement>的点击事件之中,点一下是播放,再点一下是暂停 (2)加入了微软官方改写的粒子特效 (3)加上了自己琢磨的按钮旋转效果,以及按钮淡出popup效果 (4)进度条改善美观 二.代码       前台: 1 <Window 2 xmlns="http://schemas.

WPF内部DeliverEvent读锁和PrivateAddListener写锁导致死锁

?? 准备工作 1.对失去响应进程创建转储文件 2.配置该进程的pdb文件 3.复制该进程所在机器的系统dll(sos.dll, clr.dll, mscordacwks.dll) 4.配置系统dll的pdb文件路径, 或者直接从msdl.microsoft/download/symbols下载(注意端口是否被封) 分析过程: 1.利用~*e !clrstack 得到UI线程的ID 为12 2.利用~12e !clrstack -p 得到堆栈信息及函数参数值 3.从中发现先申请写锁, 后申请读锁

WPF 自定义列表筛选 自定义TreeView模板 自定义ListBox模板

有很多项目,都有数据筛选的操作.下面提供一个案例,给大家做参考. 左侧是数据源,搜索框加TreeView控件,右侧是ListBox控件.在左侧数据列点击添加数据,然后点击确定,得到所筛选的数据. 下面直接看代码吧,比较好理解~ 筛选控件做成用户控件,当然也可以直接放在主界面,如果不复用的话.数据源都是固定的,实际用的话,新建个ViewModel将数据源绑定就行了. 1.筛选控件界面: <UserControl x:Class="WpfApplication17.SelectControl&

《Programming WPF》翻译 第9章 4.模板

原文:<Programming WPF>翻译 第9章 4.模板 对一个自定义元素最后的设计考虑是,它是如何连接其可视化的.如果一个元素直接从FrameworkElement中派生,这将会适当的生成它自己的可视化.(第7章描述了如何创建一个图形外观.)尤其是,如果你创建了一个元素,是为了提供一个特定的可视化表现,该元素应该完全控制这个可视化是如何管理的,一旦你编写了一个控件,通常你不会将一个图形硬编码到里面. 记住,一个控件的工作是提供行为.可视化是由控件模板提供的.这种可视化是由控件模板提供的

WPF中的事件列表 .

以下是WPF中的常见事件汇总表(按字母排序),翻译不见得准确,但希望对你有用. 事件 描述 Annotation.AnchorChanged 新增.移除或修改 Anchor 元素时发生. Annotation.AuthorChanged 新增.移除或修改 Author 元素时发生. Annotation.CargoChanged 新增.移除或修改 Cargo 元素时发生. AnnotationStore.AnchorChanged 存放区中任何注释上的 Anchor 元素变化时发生. Annot

WPF自定义控件与样式(7)-列表控件DataGrid与ListView自定义样式

一.前言 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等,若有不明白的地方可以参考本系列前面的文章,文末附有部分文章链接. 本文主要内容: DataGrid自定义样式: ListView自定义样式: 二.DataGrid自定义样式 DataGrid是常用的数据列表显示控件,先看看实现的效果(动态图,有点大): DataGrid控件样式结构包括以下几个部分: 列头header样式 调整列头宽度的列分割线样式 行样式 行头调整高度样式 行头部样式