共用方式為


開始在 WPF 中使用數位筆跡

Windows Presentation Foundation (WPF) 具備數位筆跡功能,可輕鬆地將數位筆跡整合進應用程式中。

必要條件

若要練習以下範例,請先安裝 Visual Studio。 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 設計工具

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

在 WPF 應用程式的手寫介面加上漸層色彩

在 XAML 後新增一些程式碼

雖然 XAML 可讓設計使用者介面變得非常容易,但任何真實的應用程式都必須新增程式碼來處理事件。 以下為以滑鼠右鍵按一下即可放大數位筆跡的簡單範例。

  1. 在 XAML 中設定 MouseRightButtonUp 控制碼:

    <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 組件新增參考。

    顯示 PresentationCore 和 PresentationFramework 的參考管理員

  4. 按下 F5,組建應用程式。

另請參閱