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,使得应用无法跨权限操作。

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

      解决方案:

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

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

      

  • 相关阅读:
    洛谷1026 统计单词个数
    洛谷1381 单词背诵
    Manacher(hdu3068最长回文)
    洛谷P1078 文化之旅
    HDU1269 迷宫城堡
    codevs1020 孪生蜘蛛
    洛谷P1027 Car的旅行路线
    楼房 洛谷1382 && codevs2995
    Picture poj1177
    排列组合
  • 原文地址:https://www.cnblogs.com/swack/p/10508649.html
Copyright © 2011-2022 走看看