開始使用 WPF 中的筆跡

Windows Presentation Foundation (WPF) 具有筆跡功能,可讓您輕鬆地將數位筆跡併入您的應用程式。

必要條件

若要使用下列範例,請先安裝 Visual Studio 。 它也有助於瞭解如何撰寫基本的 WPF 應用程式。 如需開始使用 WPF 的說明,請參閱 逐步解說:我的第一個 WPF 桌面應用程式

快速入門

本節可協助您撰寫收集筆跡的簡單 WPF 應用程式。

有筆跡嗎?

若要建立支援筆跡的 WPF 應用程式:

  1. 開啟 Visual Studio。

  2. 建立新的 WPF 應用程式

    在 [ 新增專案 ] 對話方塊中,展開 [已安裝 > Visual C# ] 或 [Visual Basic > Windows 桌面] 類別。 然後,選取 WPF 應用程式 (.NET Framework) 應用程式範本。 輸入名稱,然後選取 [ 確定 ]。

    Visual Studio 會建立專案,並在 設計工具中開啟 MainWindow.xaml

  3. <Grid> 標記之間輸入 <InkCanvas/>

    XAML designer with InkCanvas tag

  4. F5 在偵錯工具中啟動您的應用程式。

  5. 使用手寫筆或滑鼠,在視窗中撰寫 hello world

您已撰寫的筆跡相當於只有 12 個擊鍵的 「hello world」 應用程式!

為您的應用程式加香料

讓我們利用 WPF 的某些功能。 使用下列標記取代開頭和結尾 < 視窗 > 標籤之間的所有專案:

<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 會在手寫筆跡介面上建立漸層筆刷背景。

Gradient colors on inking surface in WPF app

在 XAML 後面新增一些程式碼

雖然 XAML 可讓您輕鬆地設計使用者介面,但任何真實世界應用程式都需要新增程式碼來處理事件。 以下是在筆跡上放大以回應滑鼠右鍵的簡單範例。

  1. MouseRightButtonUp在 XAML 中設定處理常式:

    <InkCanvas Name="myInkCanvas" MouseRightButtonUp="RightMouseUpHandler">
    
  2. 方案總管 中,展開 MainWindow.xaml 並開啟程式碼後置檔案 (MainWindow.xaml.cs 或 MainWindow.xaml.vb)。 新增下列事件處理常式程式碼:

    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. 執行應用程式。 新增一些筆跡,然後在滑鼠上按一下滑鼠右鍵,或使用手寫筆執行對等的按住。

    每次按一下滑鼠右鍵時,顯示器都會放大。

使用程式碼而非 XAML

您可以從程式碼存取所有 WPF 功能。 請遵循下列步驟來建立 WPF 的 「Hello Ink World」 應用程式,完全不使用任何 XAML。

  1. 在 Visual Studio 中建立新的主控台應用程式專案。

    在 [ 新增專案 ] 對話方塊中,展開 [已安裝 > Visual C# ] 或 [Visual Basic > Windows 桌面] 類別。 然後,選取 主控台應用程式 (.NET Framework) 應用程式範本。 輸入名稱,然後選取 [ 確定 ]。

  2. 將下列程式碼貼到 Program.cs 或 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. 以滑鼠右鍵按一下 方案總管 中的 [參考 ],然後選擇 [新增參考 ],以新增 PresentationCore、PresentationFramework 和 WindowsBase 元件的參考。

    Reference Manager showing PresentationCore and PresentationFramework

  4. F5 建置應用程式。

另請參閱