SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Silverlight/WPFで使える逆引きTips集

Silverlight/WPFで使える逆引きTips集
――マルチタッチ機能

(20) WPFアプリケーションにおけるマルチタッチ操作

  • X ポスト
  • このエントリーをはてなブックマークに追加

慣性の動きを表現する

 マニピュレーション操作では慣性の動きを表現することができます。例えば、ウィンドウに表示された星を指でシュッと弾くと減速しながら停止させるような自然な動きを表します。

 慣性の動きを表現するには対象オブジェクトが配置されたあるコンテナーのManipulationInertiaStartingイベントを使用します。移動、サイズ変更、回転の減速割合を指定することができ、引数eが持つプロパティで設定します。

プロパティ 操作
e.TranslationBehavior.DesiredDeceleration 移動減速の割合
e.ExpansionBehavior.DesiredDeceleration サイズ変更減速の割合
e.RotationBehavior.DesiredDeceleration 回転減速の割合

 下記は慣性の動きを表現する例です。「マニピュレーションイベントを使用する」のコードに、下記コードを加えてください。また、減速の割合を自由に変更し、どのように減速が掛かるのかを体験してください。

VBの例
' 慣性による処理開始時の処理
Private Sub canvas1_ManipulationInertiaStarting(sender As System.Object, e As System.Windows.Input.ManipulationInertiaStartingEventArgs) Handles canvas1.ManipulationInertiaStarting
    '★★★移動減速の割合を設定★★★
    e.TranslationBehavior.DesiredDeceleration = 0.005
    '★★★サイズ変更減速の割合を設定★★★
    e.ExpansionBehavior.DesiredDeceleration = 0.005
    '★★★回転減速の割合を設定★★★
    e.RotationBehavior.DesiredDeceleration = 0.0001

    e.Handled = True
End Sub
C#の例
// 慣性による処理開始時の処理
private void canvas1_ManipulationInertiaStarting(object sender, ManipulationInertiaStartingEventArgs e)
{
    // ★★★移動減速の割合を設定★★★
    e.TranslationBehavior.DesiredDeceleration = 0.005;
    // ★★★サイズ変更減速の割合を設定★★★
    e.ExpansionBehavior.DesiredDeceleration = 0.005;
    // ★★★回転減速の割合を設定★★★
    e.RotationBehavior.DesiredDeceleration = 0.0001;

    e.Handled = true;
}
ポイント

 慣性の動きを表現するにはManipulationInertiaStartingイベント内で、移動,サイズ変更,回転の減速割合を設定する。

まとめ

 昨今は、タブレット型コンピューターやスマートフォンなどマルチタッチ操作が行えるデバイスが増えてきています。Winodws 7はマルチタッチに対応したOSなので、これを機会にWindowsでもマルチタッチアプリケーションに取り組んでみてはいかがでしょうか。

 最後に、この連載も本記事で20回を迎えることができました。これまでに紹介してきた以外にもまだまだ多くのコントロールがあるのですが、基本的な部分は一通り紹介することができましたので、誠に勝手ではありますが本連載を終了とさせていただきます。

 長い間お付き合いくださいましてありがとうございました。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Silverlight/WPFで使える逆引きTips集連載記事一覧

もっと読む

この記事の著者

HIRO(ヒロ)

HIRO's.NETのHIROです。とある半導体工場のSEです。VB.NET, C#, PowerShellによるプログラミングを楽しんでいます。最近はBlog でPowerShellについて書いています。2008/07/07にPowerShell from Japan!!というサイトを立ち上げまし...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/6091 2011/08/22 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング