【C#/WPF】UI控件的拖拽/拉伸
来源:互联网 发布:免费顶级域名 编辑:程序博客网 时间:2024/05/22 14:18
需求①:控件拖拽——按住鼠标,可自由拖拽控件。
方法:目前看到的办法有两种。
- 使用ZoomableCanvas:http://www.cnblogs.com/gnielee/archive/2011/03/09/wpf-zoomablecanvas.html
- 使用微软原生的Thumb类(名称空间System.Windows.Controls.Primitives):https://msdn.microsoft.com/en-us/library/system.windows.controls.primitives.thumb%28v=vs.90%29.aspx?f=255&MSPPError=-2147217396
需求②:控件拉伸——鼠标位于控件边缘时,鼠标变为可拉伸的符号,按住鼠标左键可自由拖动以拉伸控件。
方法:做WPF项目时,看到WAF框架的Example中有一个类似的用法,记录一下关键部分。
<Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="*"/> <ColumnDefinition Width="300" MinWidth="{Binding Content.MinWidth, ElementName=bookViewPresenter}"/> </Grid.ColumnDefinitions> <ContentControl Content="{Binding ShellService.BookListView}" Grid.Row="0" Grid.Column="0" Margin="0,0,5,0"/> <ScrollViewer VerticalScrollBarVisibility="Auto" Grid.Row="0" Grid.Column="1"> <ContentControl x:Name="bookViewPresenter" Content="{Binding ShellService.BookView}" Focusable="False"/> </ScrollViewer> <GridSplitter HorizontalAlignment="Right" VerticalAlignment="Stretch" Width="4" Grid.Row="0" Grid.Column="0"/></Grid>
只看源码的关键点:
- 将控件包裹在Grid内,使用< GridSplitter >。
拉伸前后的效果如下图:
0 0
- 【C#/WPF】UI控件的拖拽/拉伸
- 【C#/WPF】用Thumb做可拖拽的UI控件
- WPF 中控件随窗体拉伸问题
- [UI界面]-UIImage的拉伸
- WPF里面多线程访问UI线程、主线程的控件
- WPF 实现数据结构对象与UI控件的绑定
- WPF:TabItem的Header拉伸的TabControl
- WPF 自由拖拽控件
- 【C#/WPF】GridSplitter 分割布局,拖拽控件分隔栏以改变控件尺寸
- wpf 透明窗口拉伸
- 采用C#WPF实现自己的网页浏览器(自定义Tab控件)
- 【C#】wpf自定义calendar日期选择控件的样式
- WPF- 图像的旋转、转换、裁剪和拉伸
- WPF 控件的位置
- c# wpf下的多线程操作窗口UI控件的过程
- WPF UI介面的革新
- WPF UI介面的革新
- WPF UI介面的革新
- ArrayList
- 趣味故事讲解Kerberos认证原理过程
- mac上安装jquery总结
- SQL Server 日期处理相关
- Git的核心概念
- 【C#/WPF】UI控件的拖拽/拉伸
- Shader学习之Fixed function shader 简介
- android布局优化的重要性
- 输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径(剑指offer)
- 排序总结
- mac上使用svn
- hibernateDaoSupport的使用步骤
- 谷歌搜索引擎设置
- mongovue链接meteor的mongdb