Integracja komponentu Blazor z aplikacją WPF w .NET 9 stała się łatwiejsza niż kiedykolwiek wcześniej dzięki wbudowanemu mechanizmowi BlazorWebView. W tym krótkim poradniku pokażemy, jak w prosty sposób umieścić komponent Blazor wewnątrz klasycznej aplikacji desktopowej stworzonej z wykorzystaniem WPF.
Czego potrzebujesz?
- Visual Studio 2024 z zainstalowanym SDK .NET 9
- Aplikacja WPF
- Komponenty Razor
Kroki do integracji Blazor z WPF:
1. Tworzenie aplikacji WPF z BlazorWebView
Utwórz nowy projekt WPF w Visual Studio:
- Otwórz Visual Studio, kliknij „Utwórz nowy projekt”, wybierz „WPF Application” dla .NET 9 i nazwij swój projekt.
2. Dodanie pakietu dla Blazor Desktop
- W Solution Explorer kliknij prawym przyciskiem na projekt WPF i wybierz opcję „Manage NuGet Packages”.
- Znajdź i zainstaluj pakiet
Microsoft.AspNetCore.Components.WebView.Wpf
.
3. Konfiguracja BlazorWebView w aplikacji WPF
W oknie XAML twojej aplikacji WPF dodaj kontrolkę BlazorWebView:
<Window x:Class="BlazorWpf.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:bwv="clr-namespace:Microsoft.AspNetCore.Components.WebView.Wpf;assembly=Microsoft.AspNetCore.Components.WebView.Wpf" Title="Blazor in WPF" Height="450" Width="800"> <Grid> <bwv:BlazorWebView HostPage="wwwroot/index.html"> <bwv:BlazorWebView.RootComponents> <bwv:RootComponent Selector="#app" ComponentType="typeof(App)" /> </bwv:BlazorWebView.RootComponents> </bwv:BlazorWebView> </Grid> </Window>
4. Przygotowanie komponentów Blazor
W projekcie WPF utwórz folder „wwwroot”, a w nim plik „index.html” z podstawowym kodem HTML dla Blazora:
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Blazor in WPF</title> <base href="/" /> </head> <body> <div id="app">Ładowanie...</div> <script src="_framework/blazor.webview.js"></script> </body> </html>
Utwórz komponent Razor np. App.razor:
<h3>Witaj z Blazor w WPF!</h3>
5. Uruchomienie aplikacji
Teraz uruchom aplikację WPF. Komponent Blazor pojawi się bezpośrednio wewnątrz aplikacji desktopowej.
Zalety tego rozwiązania:
- Możliwość wykorzystania komponentów Blazor bezpośrednio w aplikacjach desktopowych.
- Wbudowany mechanizm upraszcza integrację i redukuje liczbę zewnętrznych zależności.
- Wsparcie Microsoft gwarantujące stabilność i rozwój rozwiązania.
Integracja Blazor i WPF w .NET 9 to nowoczesne podejście do budowy aplikacji, które efektywnie łączą technologie webowe i desktopowe.