Microsoft-ui-xaml: Proposal: Use win2d from WinUI without need of Xaml Islands

Created on 22 Jun 2019  路  7Comments  路  Source: microsoft/microsoft-ui-xaml

Proposal: Use win2d from wpf without need of Xaml Islands

Summary

I would like to use win2d as seamless as possible from a Wpf app. There are countless wpf apps/developers who would benefit from this.

Rationale

Right now, using win2d from wpf app is almost impossible, even with Xaml Islands. There's an xaml_islands branch (https://github.com/microsoft/Win2D/tree/xaml_islands), but creating an actual sample that would use win2d is insanely complicated.
win2d is an extremely useful library for creating awesome animations. With moving the UI into Microsoft.UI, and especially moving the composition into Microsoft.UI.Composition, I see this is as an awesome thing to have :)

Scope

| Capability | Priority |
| This proposal will allow developers to use Direct2D effects in their apps | Must |
| This proposal will allow developers to chain Direct2D effects in their apps (using Microsoft.UI.Composition) | Must |

Important Notes

Open Questions

  • If I understand correctly, we should be able to use WinRT from a WPF app/library. Is this correct?
  • How much code is UWP dependent, in win2d? (by taking a quick look at the code, assuming we could be using c++/winRT, I think win2d could become a generic library, to be used from wpf/uwp alike)
feature proposal team-Rendering

Most helpful comment

Thanks for clarifying. I agree Win2D should be supported in WinUI, and it should work regardless of whether WinUI is being used in a UWP, in a WinUI Island hosted in a Win32 app (of any type, including WPF or WinForms), or in a WinUI desktop app.

All 7 comments

This request seems the same as https://github.com/microsoft/Win2D/issues/660? It sounds like this should work, maybe you can open an issue or continue discussion on that issue if you think it's too complicated?

Hi, why was this closed? The solution posted in microsoft/Win2D#660 talks about using Win2D in XamlIslands, if I'm not mistaken (was my colleague that posted the XamlIsland Sample ;-) ). This issue here explicitly asks for using win2d without XamlIslands.

I'm not sure why it was closed, as I said in another thread, I assume this may work on WinUI3.0, the question would be "when".

I'll reopen just so that the Rendering folks see this.

Hi @jtorjo, can you clarify if/what the ask is here for WinUI? It sounds like the proposal is to be able to use Win2D in WPF without using WinUI or XAML Islands at all. If that is the case, that should be a proposal on Win2D. Maybe I'm misunderstanding?

Hi @jtorjo, can you clarify if/what the ask is here for WinUI? It sounds like the proposal is to be able to use Win2D in WPF without using WinUI or XAML Islands at all. If that is the case, that should be a proposal on Win2D. Maybe I'm misunderstanding?

I'll modify the title. I would like to use this from WinUI without UWP.

Thanks for clarifying. I agree Win2D should be supported in WinUI, and it should work regardless of whether WinUI is being used in a UWP, in a WinUI Island hosted in a Win32 app (of any type, including WPF or WinForms), or in a WinUI desktop app.

Was this page helpful?
0 / 5 - 0 ratings