microsoft / microsoft-ui-xaml

Windows UI Library: the latest Windows 10 native controls and Fluent styles for your applications
MIT License
6.36k stars 678 forks source link

Drag&Drop does not work with within Elevated Apps #7690

Open davidegiacometti opened 2 years ago

davidegiacometti commented 2 years ago

Describe the bug

Reorder a ListView with drag&drop make the app crash when running elevated.

Steps to reproduce the bug

  1. Build https://github.com/davidegiacometti/listview-crash
  2. Run as normal user
  3. Reorder the ListView with drag&drop: working
  4. Retry running elevated: Catastrophic failure (0x8000FFFF (E_UNEXPECTED))

Expected behavior

Working when running elavated

Screenshots

No response

NuGet package version

WinUI 3 - Windows App SDK 1.1.4

Windows app type

Device form factor

Desktop

Windows version

Windows 10 (21H2): Build 19044

Additional context

No response

bpulliam commented 2 years ago

Does this issue repro after 1.2-preview2? There were significant Drag and Drop fixes in that release (all of which are in 1.2 stable).

davidegiacometti commented 2 years ago

Still persists with latest preview.

MikeHillberg commented 2 years ago

There's a limitation currently that drag/drop isn't supported in apps running elevated

https://learn.microsoft.com/en-us/windows/apps/windows-app-sdk/stable-channel#elevation

davidegiacometti commented 2 years ago

Hi @MikeHillberg Thank you! I totally missed that. Is there an official issue tracking this or should I leave this opened?

MikeHillberg commented 2 years ago

I don't see it in Issues either, let's leave this one. And thanks for opening

bpulliam commented 1 year ago

I changed the title for clarity.

Petrarca181 commented 1 year ago

Was this solved? At current state 1.3, When I drag on elevated app I see ban icon.

Scottj1s commented 1 year ago

@Petrarca181 I think you're referring to dragging external content into the elevated app? That would present the ban icon, and is a behavior of Windows. You can repro by running Notepad as admin, and attempting to drag a txt file into.

jaimecbernardo commented 1 year ago

Starting to drag a Border in an elevated app also crashes due to it being unsupported. Why is this in the Freezer? It sounds like being able to drag UI elements is a useful part of many UIs.

martgoodall commented 1 year ago

I have exactly the same issue/senario with

                 <GridView x:Name="GridViewDevices"
                           CanDragItems="True"
                           SelectionMode="Extended"
                           ItemsSource="{x:Bind ItemsSourceDevices, Mode=TwoWay}"
                           Loaded="{x:Bind LoadedStartConnectedAnimationForBackNavigationDevices}"
                           ItemsPanel="{StaticResource ItemsPanelTemplateDevices}"
                           ItemTemplate="{StaticResource DataTemplateDevices}"
                           ContainerContentChanging="ContainerContentChangingDevices"/>

If i run code in visualstudio 2022 and start normally, all is good. If i start VS as admin, code segs on start of drag. Im running windowsappsdk 1.3.230724000 (everything else is latest too). debugger shows the event "catastrophic issue"

ghord commented 1 year ago

Any update on this? Application crashing in elevated mode when user initiates drag is horrible experience.

Simple functionality like CanReorderItems simply crashes the app...

martgoodall commented 1 year ago

sadly I just upgraded to [1.4.2 (1.4.231008000)] (https://learn.microsoft.com/en-us/windows/apps/windows-app-sdk/stable-channel#version-142-14231008000) and the bug still exists. code crashes with "catastrophic error" when Admin and drag and drop is performed, but works fine if not running as Admin

ghord commented 1 year ago

Yeah, for now it seems best solution is to to just implement in-app Drag&Drop yourself without using builtin apis.

zhuxb711 commented 1 year ago

After more than one year development, WinUI team still not resolve this issue.

shelllet commented 1 year ago

After more than one year development, WinUI team still not resolve this issue.

This is a very critical bug. Don’t the Microsoft team think so?

conioh commented 1 year ago

Yeah, for now it seems best solution is to to just implement in-app Drag&Drop yourself without using builtin apis.

Sounds like the best solution is not to use Windows App SDK / WinUI 3 as long as that's the level of maturity and support.

MetalMonkey-GSD commented 11 months ago

Our current application ships with SDK 1.3.230724000 and many of our customers suddenly have the same issue. Our application needs elevated mode. Strangely it never happened before the latest Windows updates. We didn't even change anything in our application. Update: Same problem persists with SDK 1.4.231115000.

Same problem occurs even with the latest "WinUI 3 Gallery" app in elevated mode and latest SDK. It even sometimes crashes when switching between the pages.

This is a serious issue and must be addressed as soon as possible!

martgoodall commented 11 months ago

I support you MetalMonkey in saying this is a serious issue and is not being taken seriously. I don't even see an acknowledgement that the problem has been recreated, even though it takes 2 minutes to recreate. Could someone at Microsoft acknowledge that this is a serious issue and provide an update as to the plan to fix it? thx

aquinn39 commented 5 months ago

This also seems to affect the TabView and it occurs in WinUI 2 with Xaml Islands as well - you can see in Notepad and Windows Terminal (https://github.com/microsoft/terminal/issues/6661) they've just disabled the ability to reorder tabs when the app is running as administrator, otherwise the app will crash when you try to reorder tabs - quite disappointing that they've had to resort to that to address this issue since now you can't reorder tabs when running as admin. And this is in the latest release version of Windows 11 as well.

zhuxb711 commented 4 months ago

After two years, I have never seen WinUI team plan to fix this issue.

yagdev commented 4 months ago

After two years, I have never seen WinUI team plan to fix this issue.

A shame really as my app also depends on admin access for hardware sensors. For now I just added a safeguard where I disable CanDrag if Admin access is detected.

stevenbrix commented 1 month ago

i think the worst part about this is that it crashes even when dragging within your own application