none
WPFアプリケーションでのクリックイベントについて RRS feed

  • 質問

  • タッチパネルコンピュータ(Windows 8.1pro, .Net Framework 4.5)でWPFアプリケーションを作成しています。

    まれにWPFアプリケーションのタッチが効かなくなります。マウスを接続するとクリックは効きます。

    OSのほかのアプリはタッチが効きます。アプリ再起動で復旧します。

    NDP451-KB2858728-x86-x64-AllOS-ENU.exeはすでに適用済でインストールできませんでした。

    ※KB2828841、KB2828842、KB2828843が含まれてるとの事でした。

    WPF アプリケーションのリアルタイムなスタイラス入力を無効にするサンプルを試しましたがスクロールできなくなったので

    適用を見合わせてます。

    何か解決する手法は無いものでしょうか?

    よろしくお願いいします。

    • 移動 星 睦美 2016年3月15日 2:36 TechNet - Windows 8 から
    2016年3月15日 0:24

回答

  • WPFのタッチ系は不具合多いですね。

    .NetFramework4.6で治った不具合もあるようですが、それでもタッチできなくなる不具合は残っているようです。

    私が把握している不具合としては、オブジェクトをDoDragDropでドラッグさせる際に、複数の指でドラッグすると

    タッチできなくなることがあるという現象です。

    確実な回避方法は見当たらず、DoDragDrop前にApplication.Current.MainWindow.TouchesOver.Count()

    でタッチされている指の数を取得して、2以上であればDoDragDropを実行しないという方法で発生頻度が大幅に下がるので、

    暫定的にそちらで回避したことがあります。

    以上、ご参考になれば。

    • 回答としてマーク 星 睦美 2016年6月10日 5:14
    2016年6月8日 13:44
  • こちらの件、海外のフォーラムに同様と思われる現象が上がっていました。

    https://social.msdn.microsoft.com/Forums/vstudio/en-US/ac81b552-44ac-4410-a5cd-4dbf6132a634

    記事を読む限りWPFの不具合のようで、対処方法や解決案は出ていないようでした。ただ、記事のリンク先の情報では、SurfaceWindowからWPFのスタンダードWindowにすることで解決したとの情報もありました。

    また、.NET Framework 4.5.1以下での再現とあったので、新しいバージョン.NET Framework 4.6.1で再現するか試しても良いかもしれません。

    以上参考になりましたら幸いです。

    • 回答としてマーク 星 睦美 2016年6月10日 5:14
    2016年3月15日 3:19

すべての返信

  • フォーラム オペレーターの星 睦美です。みさきみさき さん、投稿ありがとうございます。

    開発者向けのMSDN フォーラムが適切ではないかと思いますので、私のほうで後ほど質問を移動させていただきますね。
    移動先のフォーラム :MSDN > .Net Framework  >  Windows Presentation Foundation ( WPF )
    https://social.msdn.microsoft.com/Forums/ja-JP/home?forum=wpfja

    作成されたWPF アプリケーションによってWindows 8.1 のタッチ操作に影響がでていることから、ソースコードやエラーに関する情報をお知らせいただければと思います。フォーラムのご利用方法(質問の投稿)について を参考にご覧ください。


    フォーラム オペレーター 星 睦美 - MSDN Community Support


    • 編集済み 星 睦美 2016年3月15日 2:37 編集
    2016年3月15日 1:08
  • こちらの件、海外のフォーラムに同様と思われる現象が上がっていました。

    https://social.msdn.microsoft.com/Forums/vstudio/en-US/ac81b552-44ac-4410-a5cd-4dbf6132a634

    記事を読む限りWPFの不具合のようで、対処方法や解決案は出ていないようでした。ただ、記事のリンク先の情報では、SurfaceWindowからWPFのスタンダードWindowにすることで解決したとの情報もありました。

    また、.NET Framework 4.5.1以下での再現とあったので、新しいバージョン.NET Framework 4.6.1で再現するか試しても良いかもしれません。

    以上参考になりましたら幸いです。

    • 回答としてマーク 星 睦美 2016年6月10日 5:14
    2016年3月15日 3:19
  • お世話になります。

    クリックできない事象が発生したときに、イベントログ(system とApplication)を確認しましたが

    特に関係すると思われるログは出ていませんでした。

    プログラムは

    private void button1_Click(object sender, RoutedEventArgs e)

    のようにボタンクリックイベントで実装しております。

    2016年3月15日 3:55
  • お世話になります。

    情報ありがとうございます。フォーラムを確認してみます。

    ありがとうございます。

    2016年3月15日 3:58
  • お世話になります。

    .NET Framework 4.6.1を導入してみましたが、タッチができない不具合が再現してしましました。

    何か良い手はないでしょうか?

    2016年3月30日 6:08
  • WPFのタッチ系は不具合多いですね。

    .NetFramework4.6で治った不具合もあるようですが、それでもタッチできなくなる不具合は残っているようです。

    私が把握している不具合としては、オブジェクトをDoDragDropでドラッグさせる際に、複数の指でドラッグすると

    タッチできなくなることがあるという現象です。

    確実な回避方法は見当たらず、DoDragDrop前にApplication.Current.MainWindow.TouchesOver.Count()

    でタッチされている指の数を取得して、2以上であればDoDragDropを実行しないという方法で発生頻度が大幅に下がるので、

    暫定的にそちらで回避したことがあります。

    以上、ご参考になれば。

    • 回答としてマーク 星 睦美 2016年6月10日 5:14
    2016年6月8日 13:44
  • お世話になります。回答ありがとうございます。

    一度試してみたいと思います。

    2016年6月14日 3:57