の一部であるコンテキストメニューコントロールツールキットをアプリケーション内で使用すると、メニューが表示されるまでの遅延が長すぎます。これは、標準の電話アプリケーションで観察される通常の遅延をはるかに超えています。この遅延を制御する方法はありますか?
回答:
回答№1は0残念ながら、この期間を定義するためのツールキットには、プロパティやメソッドはありません。ソースコードが使用しているようです 0.42
秒。別の値を使用して再構築できます。 (ただし、MS-PLを見て、それに従う必要があります。) ライセンス.
回答№2の場合は0
同じ問題が発生します。 表示を速くするには、ZoomEnabledをオフにする必要がありました。基本的に、ZoomEnabledでは、メニューがリンクされているアイテムを押したままにし、それが単に表示されるまでには2秒ほどかかります。進行中のアニメーションはありません。背後にある他のすべてがズームバックされて即座に表示されます。でもそれはアニメーションで閉じます。それは完全に壊れているのはオープニングアニメーションです。2秒の遅延を説明していると思います。それは、私たちがそれを見ないことを除いて、アニメーションの遅延です。
isZoomEnabledをfalseに設定すると、気の利いたアニメーションとズームを失うだけで、正しく機能します。
<toolkit:ContextMenuService.ContextMenu>
<toolkit:ContextMenu IsZoomEnabled="False" >
<toolkit:MenuItem Header="{Binding Converter={StaticResource LocalizedBinder}, ConverterParameter="Edit"}" IsEnabled="{Binding EditCommentGridVisibility}" Click="EditComment_Click" Tag="{Binding commentId}" />
<toolkit:MenuItem Header="{Binding Converter={StaticResource LocalizedBinder}, ConverterParameter="Remove"}" IsEnabled="{Binding RemoveCommentGridVisibility}" Click="DeleteComment_Click" Tag="{Binding commentId}" />
</toolkit:ContextMenu>
</toolkit:ContextMenuService.ContextMenu>