WPFタッチアプリケーションが(部分的に).NET Framework4.7でフリーズする

ブルーノV

更新

Microsoftはこの問題を認めました

2017年10月13日午前11時38分にMicrosoftによって投稿されました

これを報告していただきありがとうございます。この問題を認識しており、.NETの将来のバージョンで修正しています。この問題が発生する可能性を大幅に減らすサービス修正でリリースされている関連する問題もあります。これは比較的すぐにサービスされます。

問題

WPFアプリケーションはタッチ(スタイラスなし)を使用するタブレットで使用されており、.NET Framework4.7のインストール後に問題が発生しています。アプリケーションをしばらく使用した後、2つのシナリオが発生する可能性があります。アプリケーションが完全にフリーズして再起動する必要があるか、PopupまたはWindow要素のすべてのタッチ機能が無効になっています。両者にはかなりの違いがありますが、原因は同じだと思います。

シナリオ1:完全凍結

  • アプリケーションが完全に応答しなくなります。タスクマネージャーを使用してアプリケーションを閉じる必要があります
  • タッチもマウスも使用できます
  • アプリケーションがハングする前に、次のエラーがスローされることがあります。

インデックスが配列の範囲外だった。

これはスタックトレースです:

   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at System.Windows.Input.StylusWisp.WispLogic.CoalesceAndQueueStylusEvent(RawStylusInputReport inputReport)
   at System.Windows.Input.StylusWisp.WispLogic.ProcessSystemEvent(PenContext penContext, Int32 tabletDeviceId, Int32 stylusDeviceId, Int32 timestamp, SystemGesture systemGesture, Int32 gestureX, Int32 gestureY, Int32 buttonState, PresentationSource inputSource)
   at System.Windows.Input.PenContext.FireSystemGesture(Int32 stylusPointerId, Int32 timestamp)
   at System.Windows.Input.PenThreadWorker.FireEvent(PenContext penContext, Int32 evt, Int32 stylusPointerId, Int32 cPackets, Int32 cbPacket, IntPtr pPackets)
   at System.Windows.Input.PenThreadWorker.ThreadProc()
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart() 

シナリオ2:部分的なフリーズ

  • メインウィンドウがまだ(モーダルダイアログ、(マウスやタッチで)応答が、どの「オーバーレイのコンテンツであるWindowPopupからの要素DatePickerComboBoxタップに応答しません...)。タッチを再度有効にするには、アプリケーションを再起動する必要があります。
  • マウスは引き続き「オーバーレイ」要素で使用できます。

この問題についても、ここで詳しく説明しています問題が発生した後の動作のビデオは、ここにあります

追加情報

  • どちらのシナリオも、Windows8.1とWindows10を組み合わせて使用​​して、さまざまな種類のタブレットとWindowsシミュレーターでシミュレートできます。
  • .NET Framework4.7を削除すると問題が修正されます
  • シナリオ2は、いくつかのComboBox要素を複数の指ですばやくタップすることで簡単に再現できます数分後、ポップアップはタッチに反応しなくなります。
  • シナリオ1はシミュレーションが難しく、ランダムに発生します。

原因

この問題は、StylusWispコードに関係しているようです。それ以降は突然失敗して使えなくなると思います。

DisableWPFTabletSupportまたはDisableStylusAndTouchSupportのいずれかを使用してスタイラスサポートを無効にすると、問題は解消されます。ただし、ScrollViewerwithPanningMode="Both"はスワイプスクロールできなくなりました。

解決?

同様の問題がマイクロソフトに報告されています。まだ多くのサポートがないため、修正には時間がかかる場合があります。それまでの間、.NET Framework 4.7無効にする必要がなく元のタッチサポートをそのまま維持するこの問題の解決策を探しています誰かが同じ問題とより良い解決策を持っていますか?

ブルーノV

.NET Framework 4.7.1をインストールすると、問題が解決するようです。.NET Framework 4.7.1は、10月から展開を開始したWindows 10 Fall CreatorsUpdateにも含まれています。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

ASP.NET MVC 4アプリケーションでセッションを使用するにはどうすればよいですか?

log4net構成のためにWPFアプリケーションでApp.configを使用する方法

.net Framework4の式の名前

IdentityServer4 + Asp.Net CoreIdentity-IDをアプリケーションデータベースユーザーにマップします

.NET Framework4.6.1アプリケーションで.NETStandard1.4クラスライブラリの参照中にエラーが発生する

IdentityServer4とASP.NETWebアプリケーション(.NET Framework)の使用

MysqlclientにはMSVisual C ++ 10.0が必要ですが、これも.Net Framework4が必要です。

.netコアEFをWPFアプリケーションに挿入する方法

Microsoft .NET Framework 4は、すでにこのオペレーティングシステムの一部です。.NET Framework4再配布可能ファイルをインストールする必要はありません

(.NET Coreの代わりに).net Framework4以降を使用するマイクロサービス

Angularアプリとv4Bot Framework Bot(C#+ .Net Core Webアプリケーション、Angular 8フロントエンド)間でチャット履歴を送信する

Angularアプリとv4Bot Framework Bot(C#+ .Net Core Webアプリケーション、Angular 8フロントエンド)間でチャット履歴を送信する

Spring Framework4でアプリケーションコンテキストを初期化する方法

Entity Framework4既存のオブジェクトを参照してエンティティを追加する

Windows Server2008アプリケーションプールが.Net4に設定されている

Compact Framework .NET3.5アプリケーションを再構築する

.net 4.0アプリケーション(wpf)でEntity Framework6.0を使用する

vb.netアプリケーションがTeamViewerでフリーズする

.Net Framework4のインストール-失敗しました

log4jをtextareaに追加すると、JavaFXアプリケーションがフリーズします

WPFアプリケーションの実行可能ファイルの実行時にlog4netが機能しない

アプリケーションでは、log4net アセンブリを最初に GAC にインストールする必要があります

.NET Framework4で.NETFramework 3.5ベースのアプリケーションを実行すると、HTTPエラー500.19が発生します-内部サーバーエラー

PersistKeysToAzureBlobStorage():. Net Framework 4.6 / 4.xアプリケーションに相当するメソッドはありますか?

バッチファイルで.netコアアプリケーションを実行する方法

Pythonプロジェクトを.netコアアプリケーションにアタッチするにはどうすればよいですか?

.Net Framework 4dllを参照する.Net5アプリケーションをLinuxで実行できますか?

.NET Framework4-データベースへの最初のEntityFrameworkの呼び出しがコンソールアプリケーションで完了しない

GetRequiredServiceとAddHttpClientが.NETコンソールアプリケーションをフリーズします(スタックオーバーフロー)

TOP 一覧

  1. 1

    セレンのモデルダイアログからテキストを抽出するにはどうすればよいですか?

  2. 2

    PictureBoxで画像のブレンドを無効にする

  3. 3

    Postmanを使用してファイル付きの(ネストされた)jsonオブジェクトを送信する

  4. 4

    テキストフィールドの値に基づいて UIslider を移動します

  5. 5

    Windows 10 Pro 1709を1803、1809、または1903に更新しますか?

  6. 6

    追加後、ブートストラップマルチセレクトがテーブルで機能しない

  7. 7

    MyBatisがネストされたオブジェクト属性を参照するとOgnlExceptionが発生します

  8. 8

    Ansibleで複数行のシェルスクリプトを実行する方法

  9. 9

    tf.nn_conv2dとtf.nn.depthwise_conv2dの違い

  10. 10

    Python / SciPyのピーク検出アルゴリズム

  11. 11

    PyCharmリモートインタープリターはプロジェクトタブにサイトパッケージのコンテンツを表示しません

  12. 12

    「埋め込みブラウザのOAuthログイン」を有効にしてコールバックURLを指定した後でも、Facebookのコールバックエラーが発生する

  13. 13

    Dynamics365からローカルファイルにアクセスできます。ローカルリソースは許可されていません

  14. 14

    STSでループプロセス「クラスパス通知の送信」のループを停止する方法

  15. 15

    Rパッケージ「AppliedPredictiveModeling」のインストール中にエラーが発生しました

  16. 16

    Chromeウェブアプリのウェブビューの高さの問題

  17. 17

    ZScalerと証明書の問題により、Dockerを使用できません

  18. 18

    C ++でのcURLとマルチスレッドの使用

  19. 19

    mutate_allとifelseを組み合わせるにはどうすればよいですか

  20. 20

    tkinterウィンドウを閉じてもPythonプログラムが終了しない

  21. 21

    java.lang.NoClassDefFoundError:com / sun / istack / tools / DefaultAuthenticator $ Receiver

ホットタグ

アーカイブ