私は、人々が「画面に描画」できる Windows アプリケーションを開発しようとしています。
私は以下で開発しています:
.NET 3.5 C#/WPF
InkCanvas をホストする WPF ウィンドウがあり、どちらも背景が透明です。
ウィンドウの XAML プロパティ:
ShowInTaskbar="True" ResizeMode="NoResize" Background="Transparent"
WindowStyle="None" AllowsTransparency="True" Topmost="True"
InkCanvas プロパティ:
Background="#11FFFFFF"
次のイベント ハンドラーが必要です。 - ウィンドウ内の任意の場所を右クリック - エスケープ キーを押します。
望ましい結果: - WPF ウィンドウは他のすべてのウィンドウの上に残りますが、アクティブではなくなり、入力を受け入れなくなります - WPF ウィンドウにフォーカスすることができなくなります。ユーザーからのすべての入力は、現在フォーカスされているウィンドウに移動し、すべての上にあるインクキャンバスで wpf ウィンドウを無視する必要があります
基本的な使用例: アプリのユーザーがゲームをプレイしています。wpfウィンドウ/インクキャンバスでいくつかの矢印を停止して描画します。エスケープを押して終了します。wpf ウィンドウは、ユーザーが描いた図形を開いた状態で一番上に残り、ユーザーの入力は、開いている/フォーカスしているウィンドウに戻ります。
これまでのところ、私はこれを試しました:
MouseRightButtonUp ::
mywindow.isenabled = false
そして私は試しました:
mywindow.IsInputMethodEnabled = false
これまでのところ機能していませんが、wpf ウィンドウはまだユーザー入力を取得し始めています。どういうわけか、このウィンドウを表示する必要がありますが、アクティブにせずに..しばらく「使用」した後でも。
アドバイスをよろしくお願いします!