Windows Presentation Foundation (WPF) には、デジタル インクをアプリに簡単に組み込むことができるインク機能があります。
[前提条件]
次の例を使用するには、まず Visual Studio をインストールします。 また、基本的な WPF アプリを記述する方法を理解するのにも役立ちます。 WPF の概要については、「 チュートリアル: 初めての WPF デスクトップ アプリケーション」を参照してください。
クイック スタート
このセクションは、インクを収集する単純な WPF アプリケーションを記述するのに役立ちます。
インクを入手しましたか?
インクをサポートする WPF アプリを作成するには:
Visual Studio を開きます。
新しい WPF アプリを作成します。
[ 新しいプロジェクト ] ダイアログで、 インストール済み>Visual C# または Visual Basic>Windows デスクトップ カテゴリを展開します。 次に、 WPF アプリ (.NET Framework) アプリ テンプレートを選択します。 名前を入力し、[ OK] を選択します。
Visual Studio によってプロジェクトが作成され、 MainWindow.xaml がデザイナーで開きます。
<InkCanvas/>
タグ間に<Grid>
を入力します。F5 キーを押して、デバッガーでアプリケーションを起動します。
スタイラスまたはマウスを使用して、ウィンドウに hello world を書き込みます。
12 回のキーストロークだけで"hello world" アプリケーションと同等のインクを記述しました。
アプリを魅力的にする
WPF のいくつかの機能を利用してみましょう。 開始タグと終了タグ <Window> タグの間のすべてを次のマークアップに置き換えます。
<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は、インク入力サーフェスにグラデーションブラシの背景を作成します。
XAML の背後にコードを追加する
XAML を使用すると、ユーザー インターフェイスの設計が非常に簡単になりますが、実際のアプリケーションでは、イベントを処理するコードを追加する必要があります。 マウスの右クリックに応じてインクを拡大する簡単な例を次に示します。
XAML で
MouseRightButtonUp
ハンドラーを設定します。<InkCanvas Name="myInkCanvas" MouseRightButtonUp="RightMouseUpHandler">
ソリューション エクスプローラーで 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
アプリケーションを実行します。 インクを追加し、マウスで右クリックするか、スタイラスで同等の長押しを実行します。
マウスの右ボタンでクリックするたびに、表示が拡大されます。
XAML の代わりに手続き型コードを使用する
手続き型コードからすべての WPF 機能にアクセスできます。 XAML をまったく使用しない WPF 用の "Hello Ink World" アプリケーションを作成するには、次の手順に従います。
Visual Studio で新しいコンソール アプリケーション プロジェクトを作成します。
[ 新しいプロジェクト ] ダイアログで、 インストール済み>Visual C# または Visual Basic>Windows デスクトップ カテゴリを展開します。 次に、 コンソール アプリ (.NET Framework) アプリ テンプレートを選択します。 名前を入力し、[ OK] を選択します。
次のコードを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
ソリューション エクスプローラーで [参照] を右クリックし、[参照の追加] を選択して、PresentationCore、PresentationFramework、および WindowsBase アセンブリへの参照を追加します。
F5 キーを押してアプリケーションをビルドします。
こちらも参照ください
.NET Desktop feedback