Bagikan melalui


Mulai menggunakan Tinta di WPF

Windows Presentation Foundation (WPF) memiliki fitur tinta yang memudahkan untuk memasukkan tinta digital ke dalam aplikasi Anda.

Prasyarat

Untuk menggunakan contoh berikut, pertama-tama instal Visual Studio. Ini juga membantu mengetahui cara menulis aplikasi WPF dasar. Untuk bantuan memulai WPF, lihat Walkthrough: Aplikasi desktop WPF pertama saya.

Mulai Cepat

Bagian ini membantu Anda menulis aplikasi WPF sederhana yang mengumpulkan tinta.

Punya Tinta?

Untuk membuat aplikasi WPF yang mendukung tinta:

  1. Buka Visual Studio.

  2. Buat Aplikasi WPF baru.

    Dalam dialog Proyek Baru, perluas kategori Visual C# atau Visual Basic>Windows Desktop yang terinstal.> Kemudian, pilih templat aplikasi Aplikasi WPF (.NET Framework). Masukkan nama, lalu pilih OK.

    Visual Studio membuat proyek, dan MainWindow.xaml terbuka di perancang.

  3. Ketik <InkCanvas/> di <Grid> antara tag.

    XAML designer with InkCanvas tag

  4. Tekan F5 untuk meluncurkan aplikasi Anda di debugger.

  5. Menggunakan stylus atau mouse, tulis halo dunia di jendela.

Anda telah menulis tinta yang setara dengan aplikasi "halo dunia" dengan hanya 12 penekanan tombol!

Membumbui Aplikasi Anda

Mari kita manfaatkan beberapa fitur WPF. Ganti semuanya antara tag Jendela> pembuka dan penutup <dengan markup berikut:

<Page>
  <InkCanvas Name="myInkCanvas" MouseRightButtonUp="RightMouseUpHandler">
    <InkCanvas.Background>
      <LinearGradientBrush>
        <GradientStop Color="Yellow" Offset="0.0" />
          <GradientStop Color="Blue" Offset="0.5" />
            <GradientStop Color="HotPink" Offset="1.0" />
              </LinearGradientBrush>
    </InkCanvas.Background>
  </InkCanvas>
</Page>

XAML ini membuat latar belakang sikat gradien pada permukaan penintaan Anda.

Gradient colors on inking surface in WPF app

Menambahkan Beberapa Kode di Belakang XAML

Meskipun XAML membuatnya sangat mudah untuk merancang antarmuka pengguna, aplikasi dunia nyata apa pun perlu menambahkan kode untuk menangani peristiwa. Berikut adalah contoh sederhana yang memperbesar tampilan pada tinta sebagai respons terhadap klik kanan dari mouse.

  1. Atur handler MouseRightButtonUp di XAML Anda:

    <InkCanvas Name="myInkCanvas" MouseRightButtonUp="RightMouseUpHandler">
    
  2. Di Penjelajah Solusi, perluas MainWindow.xaml dan buka file code-behind (MainWindow.xaml.cs atau MainWindow.xaml.vb). Tambahkan kode penanganan aktivitas berikut:

    private void RightMouseUpHandler(object sender,
                                     System.Windows.Input.MouseButtonEventArgs e)
    {
        Matrix m = new Matrix();
        m.Scale(1.1d, 1.1d);
        ((InkCanvas)sender).Strokes.Transform(m, true);
    }
    
    Private Sub RightMouseUpHandler(ByVal sender As Object, _
                                    ByVal e As System.Windows.Input.MouseButtonEventArgs)
    
        Dim m As New Matrix()
        m.Scale(1.1, 1.1)
        CType(sender, InkCanvas).Strokes.Transform(m, True)
    
    End Sub
    
  3. Jalankan aplikasi lagi. Tambahkan beberapa tinta, lalu klik kanan dengan mouse atau lakukan tekan dan tahan yang setara dengan stylus.

    Tampilan memperbesar tampilan setiap kali Anda mengklik dengan tombol kanan mouse.

Gunakan Kode Prosedural Alih-alih XAML

Anda dapat mengakses semua fitur WPF dari kode prosedural. Ikuti langkah-langkah ini untuk membuat aplikasi "Hello Ink World" untuk WPF yang tidak menggunakan XAML sama sekali.

  1. Buat proyek aplikasi konsol baru di Visual Studio.

    Dalam dialog Proyek Baru, perluas kategori Visual C# atau Visual Basic>Windows Desktop yang terinstal.> Kemudian, pilih templat aplikasi Aplikasi Konsol (.NET Framework). Masukkan nama, lalu pilih OK.

  2. Tempelkan kode berikut ke dalam file Program.cs atau Program.vb:

    using System;
    using System.Windows;
    using System.Windows.Controls;
    class Program : Application
    {
        Window win;
        InkCanvas ic;
    
        protected override void OnStartup(StartupEventArgs args)
        {
            base.OnStartup(args);
            win = new Window();
            ic = new InkCanvas();
            win.Content = ic;
            win.Show();
        }
    
        [STAThread]
        static void Main(string[] args)
        {
            new Program().Run();
        }
    }
    
    Imports System.Windows
    Imports System.Windows.Controls
    
    
    Class Program
        Inherits Application
        Private win As Window
        Private ic As InkCanvas
    
    
        Protected Overrides Sub OnStartup(ByVal args As StartupEventArgs)
            MyBase.OnStartup(args)
            win = New Window()
            ic = New InkCanvas()
            win.Content = ic
            win.Show()
    
        End Sub
    
    End Class
    
    Module Module1
    
        Sub Main()
            Dim prog As New Program()
            prog.Run()
    
        End Sub
    
    End Module
    
  3. Tambahkan referensi ke rakitan PresentationCore, PresentationFramework, dan WindowsBase dengan mengklik kanan Referensi di Penjelajah Solusi dan memilih Tambahkan Referensi.

    Reference Manager showing PresentationCore and PresentationFramework

  4. Bangun aplikasi dengan menekan F5.

Baca juga