Wprowadzenie do pisma oddyskowego w WPF
Program Windows Presentation Foundation (WPF) ma funkcję pisma oddyskowego, która ułatwia dołączanie cyfrowego pisma oddyskowego do aplikacji.
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.
Szybkie uruchamianie
Ta sekcja ułatwia napisanie prostej aplikacji WPF, która zbiera atrament.
Masz atrament?
Aby utworzyć aplikację WPF, która obsługuje atrament:
Otwórz program Visual Studio.
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.
Wpisz
<InkCanvas/>
między tagami<Grid>
.Naciśnij klawisz F5 , aby uruchomić aplikację w debugerze.
Za pomocą rysika lub myszy napisz hello world w oknie.
Napisaliśmy atrament odpowiednik aplikacji "hello world" z tylko 12 naciśnięciami klawiszy!
Doprawić 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 pisma odręcznego.
Dodawanie kodu za kodem 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.
Ustaw procedurę
MouseRightButtonUp
obsługi w języku XAML:<InkCanvas Name="myInkCanvas" MouseRightButtonUp="RightMouseUpHandler">
W Eksplorator rozwiązań rozwiń węzeł MainWindow.xaml i otwórz plik za kodem (MainWindow.xaml.cs lub MainWindow.xaml.vb). Dodaj następujący kod procedury 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
Uruchom aplikację. Dodaj jakiś atrament, a następnie kliknij prawym przyciskiem myszy lub wykonaj odpowiednik naciśnięcia i blokady 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.
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.
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
Dodaj odwołania do zestawów PresentationCore, PresentationFramework i WindowsBase, klikając prawym przyciskiem myszy pozycję Odwołania w Eksplorator rozwiązań i wybierając polecenie Dodaj odwołanie.
Skompiluj aplikację, naciskając klawisz F5.
Zobacz też
.NET Desktop feedback