Bagikan melalui


Penyiapan platform WPF

Label pratinjau

Xamarin.Forms memiliki dukungan pratinjau untuk Windows Presentation Foundation (WPF), pada .NET Framework dan di .NET Core 3. Artikel ini menunjukkan cara menambahkan proyek WPF yang menargetkan .NET Framework, ke solusi Xamarin.Forms .

Penting

Xamarin.Forms dukungan untuk WPF disediakan oleh komunitas. Untuk informasi selengkapnya, lihat Xamarin.Forms Dukungan Platform.

Sebelum memulai, buat solusi baru Xamarin.Forms di Visual Studio 2019, atau gunakan solusi yang sudah ada Xamarin.Forms .

Menambahkan aplikasi WPF

Ikuti instruksi berikut untuk menambahkan aplikasi WPF yang akan berjalan pada desktop Windows 7, 8, dan 10:

  1. Di Visual Studio 2019, klik kanan pada nama solusi di Penjelajah Solusi dan pilih Tambahkan > Proyek Baru....

  2. Di jendela Tambahkan proyek baru, pilih C# di menu drop-down Bahasa , pilih Windows di menu drop-down Platform , dan pilih Desktop di menu drop-down Jenis proyek. Dalam daftar jenis proyek, pilih Aplikasi WPF (.NET Framework):

    Cuplikan layar memperlihatkan kotak dialog Tambahkan proyek baru dengan Aplikasi W P F dipilih.

    Tekan tombol Berikutnya .

    Catatan

    Xamarin.Forms 4.7 menyertakan dukungan untuk aplikasi WPF yang berjalan di .NET Core 3.

  3. Di jendela Konfigurasikan proyek baru Anda, ketik nama untuk proyek dengan ekstensi WPF , misalnya, BoxViewClock.WPF. Klik tombol Telusuri , pilih folder BoxViewClock , dan tekan Pilih Folder untuk meletakkan proyek WPF di direktori yang sama dengan proyek lain dalam solusi:

    Cuplikan layar memperlihatkan kotak dialog Konfigurasikan proyek baru Anda dengan nilai untuk Nama proyek, Lokasi, dan Kerangka Kerja.

    Tekan tombol Buat untuk membuat proyek.

  4. Di Penjelajah Solusi, klik kanan proyek BoxViewClock.WPF baru dan pilih Kelola Paket NuGet.... Pilih tab Telusuri, dan cari Xamarin.Forms. Platform.WPF:

    Pilih paket NuGet

    Pilih paket dan klik tombol Instal .

  5. Klik kanan nama solusi di Penjelajah Solusi dan pilih Kelola Paket NuGet untuk Solusi.... Pilih tab Pembaruan lalu pilih Xamarin.Forms paket. Pilih semua proyek dan perbarui ke versi yang sama Xamarin.Forms :

    Memperbarui paket NuGet

  6. Dalam proyek WPF, klik kanan Referensi dan pilih Tambahkan Referensi.... Dalam dialog Manajer Referensi, pilih Proyek di sebelah kiri, dan centang kotak centang yang berdekatan dengan proyek BoxViewClock:

    Mereferensikan proyek bersama

    Tekan tombol OK .

  7. Edit file MainWindow.xaml dari proyek WPF. Window Dalam tag, tambahkan deklarasi namespace XML untuk Xamarin.Forms. Perakitan dan namespace platform.WPF:

    xmlns:wpf="clr-namespace:Xamarin.Forms.Platform.WPF;assembly=Xamarin.Forms.Platform.WPF"
    

    Sekarang ubah tag menjadi Windowwpf:FormsApplicationPage. Title Ubah pengaturan ke nama aplikasi Anda, misalnya, BoxViewClock. File XAML yang telah selesai akan terlihat seperti ini:

    <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>
    
  8. Edit file MainWindow.xaml.cs proyek WPF. Tambahkan dua arahan baru using :

    using Xamarin.Forms;
    using Xamarin.Forms.Platform.WPF;
    

    Ubah kelas dasar dari menjadi MainWindowWindowFormsApplicationPage. InitializeComponent Setelah panggilan, tambahkan dua pernyataan berikut:

    Forms.Init();
    LoadApplication(new BoxViewClock.App());
    

    Kecuali untuk komentar dan arahan yang tidak digunakanusing, file MainWindows.xaml.cs lengkap akan terlihat seperti ini:

    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());
            }
        }
    }
    
  9. Klik kanan proyek WPF di Penjelajah Solusi dan pilih Atur sebagai Proyek Startup. Tekan F5 untuk menjalankan program dengan debugger Visual Studio di desktop Windows:

    Jam WPF BoxView

Spesifikasi platform

Anda dapat menentukan platform apa yang dijalankan aplikasi Anda Xamarin.Forms dari kode atau XAML. Ini memungkinkan Anda untuk mengubah karakteristik program ketika berjalan di WPF. Dalam kode, bandingkan nilai Device.RuntimePlatform dengan konstanta (yang sama dengan Device.WPF string "WPF"). Jika ada kecocokan, aplikasi berjalan di WPF.

Di XAML, Anda dapat menggunakan OnPlatform tag untuk memilih nilai properti khusus untuk platform:

<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>

Ukuran jendela

Anda dapat menyesuaikan ukuran awal jendela dalam file WPF MainWindow.xaml :

Title="BoxViewClock" Height="450" Width="800"

Terbitan

Ini adalah pratinjau, jadi Anda harus mengharapkan bahwa tidak semuanya siap produksi. Tidak semua paket Xamarin.Forms NuGet siap untuk WPF, dan beberapa fitur mungkin tidak sepenuhnya berfungsi.

Xamarin.Forms Video dukungan WPF 3.0