Jelajahi Sumber

UseWPF instead of rawdogging xaml

Krzysztof Krysiński 2 tahun lalu
induk
melakukan
7eb1d7bda8

+ 2 - 1
src/PixiEditor.Extensions/PixiEditor.Extensions.csproj

@@ -1,9 +1,10 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
     <PropertyGroup>
-        <TargetFramework>net7.0</TargetFramework>
+        <TargetFramework>net7.0-windows</TargetFramework>
         <ImplicitUsings>enable</ImplicitUsings>
         <Nullable>enable</Nullable>
+      <UseWPF>true</UseWPF>
     </PropertyGroup>
 
     <ItemGroup>

+ 4 - 2
src/PixiEditor.Extensions/Windowing/IWindowProvider.cs

@@ -1,6 +1,8 @@
-namespace PixiEditor.Extensions.Windowing;
+using System.Windows.Controls;
+
+namespace PixiEditor.Extensions.Windowing;
 
 public interface IWindowProvider
 {
-    public PopupWindow CreatePopupWindow(string title, string bodyXaml);
+    public PopupWindow CreatePopupWindow(string title, object body);
 }

+ 1 - 7
src/PixiEditor/Models/AppExtensions/Services/WindowProvider.cs

@@ -7,14 +7,8 @@ namespace PixiEditor.Models.AppExtensions.Services;
 
 public class WindowProvider : IWindowProvider
 {
-    public PopupWindow CreatePopupWindow(string title, string bodyXaml)
+    public PopupWindow CreatePopupWindow(string title, object body)
     {
-        object body = null;
-        if(bodyXaml is not null)
-        {
-            body = XamlReader.Parse(bodyXaml);
-        }
-
         return new PopupWindow(new BasicPopup { Title = title, Body = body });
     }
 }

+ 3 - 3
src/SampleExtension/SampleExtension.cs

@@ -1,4 +1,5 @@
-using PixiEditor.Extensions;
+using System.Windows.Controls;
+using PixiEditor.Extensions;
 
 namespace SampleExtension;
 
@@ -10,8 +11,7 @@ public class SampleExtension : Extension
 
     protected override void OnInitialized()
     {
-        var popup = Api.WindowProvider.CreatePopupWindow("Hello World!",
-            "<TextBlock xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\">Hello World!</TextBlock>");
+        var popup = Api.WindowProvider.CreatePopupWindow("Hello World!", new TextBlock { Text = "Hello World!" });
         popup.ShowDialog();
     }
 }

+ 1 - 1
src/SampleExtension/SampleExtension.csproj

@@ -1,7 +1,7 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
     <PropertyGroup>
-        <TargetFramework>net7.0</TargetFramework>
+        <TargetFramework>net7.0-windows</TargetFramework>
         <ImplicitUsings>enable</ImplicitUsings>
         <Nullable>enable</Nullable>
       <OutputPath>..\PixiEditor\bin\Debug\net7.0-windows\Extensions</OutputPath>