zoukankan      html  css  js  c++  java
  • WPF 关于拖拽打开文件的注意事项

    由于开发需求,需要开发一个类似Win图片浏览的工具

    当然也涉及到了拖拽打开的需求

    按照固有思路:

    <Grid x:Name="grid1"  AllowDrop="True" Drop="grid1_Drop" DragEnter="grid1_DragEnter">
    

      

            private void grid1_Drop(object sender, DragEventArgs e)
            {
                m_fpath = ((System.Array)e.Data.GetData(DataFormats.FileDrop)).GetValue(0).ToString();
                string directory = System.IO.Path.GetDirectoryName(m_fpath);
                imgArray = GetImgCollection(directory);
                RefreshImage(m_fpath);
            }
    
            private void grid1_DragEnter(object sender, DragEventArgs e)
            {
                if (e.Data.GetDataPresent(DataFormats.FileDrop))
                {
                    e.Effects = DragDropEffects.Link; 
                }
                else 
                {
                    e.Effects = DragDropEffects.None;
                }
            }
    

      但是发现无法触发 grid1_DragEnter 事件,Google发现这个系统权限有关,Vista后微软增加了UAC,使得应用无法跨权限操作。

      由于我是以管理员身份打开应用的,而我桌面的图片权限是用户级的,所以无法拖拽图片。

      解决方案:

      用户权限打开应用,就能很好的支持拖拽

      用管理员权限打开,且支持拖拽,我也看到了一些案例,后期更新:

      

  • 相关阅读:
    SVN日常使用
    zabbix安装
    shell日常脚本(centos6)
    mysql故障记录
    PHP商品秒杀功能实现思路分析
    Redis
    PHP 实现实时通信一般有两种方式
    FTP DNS SMTP POP3 HTTP HTTPS DHCP DNS SNMP Telnet 端口号
    TCP/UDP/HTTP的区别和联系
    TCP 和 UDP 的区别
  • 原文地址:https://www.cnblogs.com/swack/p/10508649.html
Copyright © 2011-2022 走看看