Nastavení platformy WPF
Xamarin.Forms má podporu verze Preview pro Windows Presentation Foundation (WPF), v rozhraní .NET Framework a v .NET Core 3. Tento článek ukazuje, jak přidat projekt WPF, který cílí na rozhraní .NET Framework, do Xamarin.Forms řešení.
Důležité
Xamarin.Forms podpora WPF je poskytována komunitou. Další informace najdete v tématu Xamarin.Forms Podpora platformy.
Než začnete, vytvořte nové Xamarin.Forms řešení v sadě Visual Studio 2019 nebo použijte existující Xamarin.Forms řešení.
Přidání aplikace WPF
Podle těchto pokynů přidejte aplikaci WPF, která se bude spouštět na počítačích s Windows 7, 8 a 10:
V sadě Visual Studio 2019 klikněte pravým tlačítkem na název řešení v Průzkumník řešení a zvolte Přidat > nový projekt....
V okně Přidat nový projekt vyberte v rozevíracím seznamu Jazyky jazyk C#, v rozevíracím seznamu Platformy vyberte Windows a v rozevíracím seznamu Typ projektu vyberte Desktop. V seznamu typů projektů zvolte aplikaci WPF (.NET Framework):
Stiskněte tlačítko Další.
Poznámka:
Xamarin.Forms 4.7 zahrnuje podporu aplikací WPF, které běží na .NET Core 3.
V okně Konfigurovat nový projekt zadejte název projektu s příponou WPF, například BoxViewClock.WPF. Klikněte na tlačítko Procházet , vyberte složku BoxViewClock a stisknutím klávesy Select Folder umístěte projekt WPF do stejného adresáře jako ostatní projekty v řešení:
Stisknutím tlačítka Vytvořit vytvořte projekt.
V Průzkumník řešení klikněte pravým tlačítkem na nový projekt BoxViewClock.WPF a vyberte Spravovat balíčky NuGet....Vyberte kartu Procházet a vyhledejte Xamarin.Forms. Platform.WPF:
Vyberte balíček a klikněte na tlačítko Instalovat .
Pravým tlačítkem myši klikněte na název řešení v Průzkumník řešení a vyberte Spravovat balíčky NuGet pro řešení.... Vyberte kartu Aktualizace a pak vyberte Xamarin.Forms balíček. Vyberte všechny projekty a aktualizujte je na stejnou Xamarin.Forms verzi:
V projektu WPF klikněte pravým tlačítkem myši na Odkazy a vyberte Přidat odkaz.... V dialogovém okně Správce odkazů vyberte Projekty vlevo a zaškrtněte políčko vedle projektu BoxViewClock :
Stiskněte tlačítko OK.
Upravte soubor MainWindow.xaml projektu WPF. Do značky
Window
přidejte deklaraci oboru názvů XML pro Xamarin.Formsobjekt . Sestavení Platform.WPF a obor názvů:xmlns:wpf="clr-namespace:Xamarin.Forms.Platform.WPF;assembly=Xamarin.Forms.Platform.WPF"
Nyní změňte
Window
značku nawpf:FormsApplicationPage
.Title
Změňte nastavení na název aplikace, například BoxViewClock. Dokončený soubor XAML by měl vypadat takto:<wpf:FormsApplicationPage x:Class="BoxViewClock.WPF.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:BoxViewClock.WPF" xmlns:wpf="clr-namespace:Xamarin.Forms.Platform.WPF;assembly=Xamarin.Forms.Platform.WPF" mc:Ignorable="d" Title="BoxViewClock" Height="450" Width="800"> <Grid> </Grid> </wpf:FormsApplicationPage>
Upravte soubor MainWindow.xaml.cs projektu WPF. Přidejte dvě nové
using
direktivy:using Xamarin.Forms; using Xamarin.Forms.Platform.WPF;
Změňte základní třídu
MainWindow
zWindow
naFormsApplicationPage
.InitializeComponent
Za volání přidejte následující dva příkazy:Forms.Init(); LoadApplication(new BoxViewClock.App());
S výjimkou komentářů a nepoužívaných
using
direktiv by měl úplný soubor MainWindows.xaml.cs vypadat takto:using Xamarin.Forms; using Xamarin.Forms.Platform.WPF; namespace BoxViewClock.WPF { public partial class MainWindow : FormsApplicationPage { public MainWindow() { InitializeComponent(); Forms.Init(); LoadApplication(new BoxViewClock.App()); } } }
Klikněte pravým tlačítkem myši na projekt WPF v Průzkumník řešení a vyberte Nastavit jako spouštěný projekt. Stisknutím klávesy F5 spusťte program pomocí ladicího programu sady Visual Studio na ploše Windows:
Specifika platformy
Z kódu nebo XAML můžete určit, na jaké platformě Xamarin.Forms vaše aplikace běží. To vám umožní změnit charakteristiky programu, když běží na WPF. V kódu porovnejte hodnotu Device.RuntimePlatform
s konstantou Device.WPF
(která se rovná řetězci "WPF"). Pokud existuje shoda, aplikace běží na WPF.
V XAML můžete pomocí značky OnPlatform
vybrat hodnotu vlastnosti specifickou pro platformu:
<Button.TextColor>
<OnPlatform x:TypeArguments="Color">
<On Platform="iOS" Value="White" />
<On Platform="macOS" Value="White" />
<On Platform="Android" Value="Black" />
<On Platform="WPF" Value="Blue" />
</OnPlatform>
</Button.TextColor>
Velikost okna
Počáteční velikost okna můžete upravit v souboru WPF MainWindow.xaml :
Title="BoxViewClock" Height="450" Width="800"
Problémy
Jedná se o verzi Preview, takže byste měli očekávat, že není všechno připravené pro produkční prostředí. Ne všechny balíčky NuGet pro Xamarin.Forms jsou připravené pro WPF a některé funkce nemusí plně fungovat.
Související video
Xamarin.Forms Video podpory WPF 3.0