Udostępnij za pośrednictwem


Rozpocznij pracę z rysikiem w WPF

Windows Presentation Foundation (WPF) posiada funkcję cyfrowego atramentu, która ułatwia integrację cyfrowego atramentu z aplikacją.

Wymagania wstępne

Aby użyć poniższych przykładów, najpierw zainstaluj program Visual Studio. Pomaga również wiedzieć, jak pisać podstawowe aplikacje WPF. Aby uzyskać pomoc dotyczącą rozpoczynania pracy z platformą WPF, zobacz Przewodnik: Moja pierwsza aplikacja klasyczna WPF.

Szybki start

Ta sekcja ułatwia napisanie prostej aplikacji WPF, która zbiera atrament.

Masz tusz?

Aby utworzyć aplikację WPF, która obsługuje atrament:

  1. Otwórz program Visual Studio.

  2. Utwórz nową aplikację WPF.

    W oknie dialogowym Nowy projekt rozwiń kategorię Zainstalowane visual>C# lub Visual Basic>Windows Desktop . Następnie wybierz szablon aplikacji WPF (.NET Framework). Wprowadź nazwę, a następnie wybierz przycisk OK.

    Program Visual Studio tworzy projekt, a plik MainWindow.xaml zostanie otwarty w projektancie.

  3. Wpisz <InkCanvas/> między tagami <Grid> .

    Projektant XAML z tagiem InkCanvas

  4. Naciśnij F5 , aby uruchomić aplikację w debugerze.

  5. Za pomocą rysika lub myszy napisz hello world w oknie.

Napisałeś ekwiwalent atramentu aplikacji „hello world” za pomocą zaledwie 12 naciśnięć klawiszy!

Uatrakcyjnij swoją aplikację

Skorzystajmy z niektórych funkcji WPF. Zastąp wszystkie elementy między tagami otwierania i zamykania <okna> następującymi znacznikami:

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

Ten kod XAML tworzy tło pędzla gradientowego na powierzchni do rysowania.

Kolory gradientu na powierzchni pisma odręcznego w aplikacji WPF

Dodaj kod obsługujący XAML

Chociaż język XAML ułatwia projektowanie interfejsu użytkownika, każda rzeczywista aplikacja musi dodać kod do obsługi zdarzeń. Oto prosty przykład, który powiększa atrament w odpowiedzi na kliknięcie prawym przyciskiem myszy.

  1. Ustaw procedurę MouseRightButtonUp obsługi w języku XAML:

    <InkCanvas Name="myInkCanvas" MouseRightButtonUp="RightMouseUpHandler">
    
  2. W Eksploratorze rozwiązań rozwiń element MainWindow.xaml i otwórz plik zaplecza kodu (MainWindow.xaml.cs lub MainWindow.xaml.vb). Dodaj następujący kod obsługi zdarzeń:

    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. Uruchom aplikację. Dodaj trochę atramentu, a następnie kliknij prawym przyciskiem myszy lub wykonaj odpowiednik przytrzymania za pomocą rysika.

    Ekran powiększa się za każdym razem, gdy klikniesz prawym przyciskiem myszy.

Używanie kodu proceduralnego zamiast XAML

Dostęp do wszystkich funkcji WPF można uzyskać z poziomu kodu proceduralnego. Wykonaj następujące kroki, aby utworzyć aplikację "Hello Ink World" dla platformy WPF, która w ogóle nie używa żadnego kodu XAML.

  1. Utwórz nowy projekt aplikacji konsolowej w programie Visual Studio.

    W oknie dialogowym Nowy projekt rozwiń kategorię Zainstalowane visual>C# lub Visual Basic>Windows Desktop . Następnie wybierz szablon aplikacji konsolowej (.NET Framework). Wprowadź nazwę, a następnie wybierz przycisk OK.

  2. Wklej następujący kod do pliku Program.cs lub 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. Dodaj odwołania do zestawów PresentationCore, PresentationFramework i WindowsBase, klikając prawym przyciskiem myszy pozycję Odwołania w Eksploratorze rozwiązań i wybierając polecenie Dodaj odwołanie.

    Menedżer odwołań wyświetlający PresentationCore i PresentationFramework

  4. Skompiluj aplikację, naciskając F5.

Zobacz także