wpf如何实现自定义窗口自由拖动
2015-07-14 23:13
501 查看
我是一个新手,也是第一次写博客,有什么不好的还请大家指教,只为记录一下自己学习的东西
话不多说了。
今天碰到一个Wpf的窗口让鼠标按下可以拖动,本来想想很简单的,调用一下this.DragMove()就可以了,可是后来发现自己的窗口还是不能动,想了半天也没有发现问题,后来跟了一下,发现窗口移动的事件就没有触发。
之后看看前台的代码发现了一个问题,就是鼠标点击的时候自己接收的地方没有定义好。就是Border标签里面的地方自己放在第一行之中了,可是大小却与第一行分配的不一样,所以就出现偶时能拖,有时不能拖的现像,后画把它放在Grid这个标签里面就好了。
下面是修改前的前台代码:
修改后的就是注释的地方。
这是后台的代码:
我是一个新手,大家要是还有其它的办法,可以告诉我一下,谢谢了。
话不多说了。
今天碰到一个Wpf的窗口让鼠标按下可以拖动,本来想想很简单的,调用一下this.DragMove()就可以了,可是后来发现自己的窗口还是不能动,想了半天也没有发现问题,后来跟了一下,发现窗口移动的事件就没有触发。
之后看看前台的代码发现了一个问题,就是鼠标点击的时候自己接收的地方没有定义好。就是Border标签里面的地方自己放在第一行之中了,可是大小却与第一行分配的不一样,所以就出现偶时能拖,有时不能拖的现像,后画把它放在Grid这个标签里面就好了。
下面是修改前的前台代码:
[code]<Window x:Class="Demo_01.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="525" WindowStartupLocation="CenterScreen" WindowStyle="None" Background="LightBlue"> <StackPanel > <Grid> <Grid.RowDefinitions> <RowDefinition Height="40"></RowDefinition> <RowDefinition Height="*"></RowDefinition> </Grid.RowDefinitions> <!--<Border x:Name="Border_Title" Grid.Row="0" Height="40" Width="525" Background="LightBlue" BorderThickness="0,0,0,1" BorderBrush="Black"></Border>--> </Grid> <Border x:Name="Border_Title" Grid.Row="0" Height="40" Width="525" Background="LightBlue" BorderThickness="0,0,0,1" BorderBrush="Black"></Border> </StackPanel> </Window>
修改后的就是注释的地方。
这是后台的代码:
[code] public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); this.Border_Title.MouseDown += new MouseButtonEventHandler(Border_Title_MouseDown); } void Border_Title_MouseDown(object sender, MouseButtonEventArgs e) { this.DragMove(); } } }
我是一个新手,大家要是还有其它的办法,可以告诉我一下,谢谢了。
相关文章推荐
- cocos2dx 3.2 + vs2012 + win7 动作的施加对象问题
- 第一个Selenium程序-firefox
- CSS3动画属性
- [leedcode 80] Remove Duplicates from Sorted Array II
- oracle11g 遇到用户密码过期的问题
- Extjs4 关于Store的一些操作(转)
- ERROR: While executing gem ... (OpenSSL::SSL::SSLError)
- TAB补全代码
- Maven入门
- 安卓仿照微信
- freemarker学习
- Javascript我学之三函数的参数
- php-001-win7 环境下 wamp 的至简部署
- 11G新特性 -- archival(long-term)backups
- 公用用例编写规范
- jQuery验证全部输入合法后才能提交
- 定时器NSTimer总结
- Linux下redis的安装及使用方法
- ThinkPad E430光驱面板拆卸方法
- 2. Javascript 数据类型