問題タブ [lostfocus]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1259 参照

.net - キーボード ショートカット使用時のフォーカス喪失イベントの制御

.NET Winforms と Windows Presentation Foundation の両方で、ユーザーがテキストを入力したばかりのテキスト ボックスとボタンがある場合、ユーザーがボタンをクリックすると、ボタン クリック イベントが発生する前に "LostFocus" イベントが発生します。ただし、ユーザーがボタンのキーボード ショートカットを使用する場合 (たとえば、ボタンのテキストが "&Button" または "_Button" で、ユーザーが Alt+B を実行した場合)、ボタン クリック イベントの後に "LostFocus" イベントが発生するため、あまり役に立ちません。

合理的な回避策を知っていますか?ButtonClick の前に LostFocus で発生させたいことがさまざまあります。

0 投票する
2 に答える
5365 参照

silverlight - SilverlightDatePickerのテキストからDateTimeへの変換をインターセプトします

DatePicker次のテキストをDateTime(国際形式で表示)に変換して、顧客がテキストボックスに日付をDatePickerすばやく書き込むことができるようにしたいので、使用するのDateTime.Parseは私だけではありません。

私はそれを行うためにさまざまな方法を試しましたが、それらは機能しません。DatePicker.Text//カスタムvalueconverterでDatePicker.SelectedDateバインドしようとしました。しかし、テキストに到達する前にすでにテキストを処理しているDatePicker.DisplayDateため、機能しません。DatePicker

私もDatePicker TextBox.LostFocusこのように変換しようとしました:

何か案は?

0 投票する
0 に答える
760 参照

.net - LostFocus Binding がテンプレートで機能しない

リストにバインドされたデータである TabControl があります。(リスト内の 2 つのデータ項目) TabControl には、データ クラスの 2 つの文字列プロパティにバインドされた 2 つの TextBox コントロールを含む DataTemplate があります。

最初のタブの Textbox1 にテキストを入力してから Tab2 をクリックすると、データ ソースが更新されず、変更が失われます。

これは、LostFocus が TextBox1 に対して実際に起動されていないためです (Tab 2 に移動すると TextBox1 が自動的にフォーカスされるため、TextBox2 にあります)。これは、各タブがテンプレートから同じ TextBox を共有し、タブ スイッチで DataContext を変更するだけであると考えられます。

ここでは、PreviewLostKeyboardFocus と DataContextChanged の 2 つのイベントが役立ちます。両方とも、TextBox に入力されたテキストが使用可能です。

また、ツールバーの [保存] ボタンがフォーカスされないという古くからの問題もあります。

Binding クラスは、上記の両方のシナリオで発生するように見える LostFocus ではなく、PreviousLostKeyboardFocus をリッスンする必要があるように思えます。

皆さんはこれらの問題をどのように解決しますか?

また、PreviewLostKeyboardFocus イベントを利用してソースを更新するには、どのような方法がありますか? (最上位のコンテナの行に沿って何かがこのイベントを監視し、LostFocus UpdateSourceTrigger を使用して OriginalSource に Binding があるかどうかを確認し、バインディングをトリック/強制してソースを更新すると考えています-しかし、私は Wpf が初めてで、私が考えていない他の考慮事項があるかもしれません)

サンプルアプリはこちら...

とそのコードビハインド

System.Collections.Generic の使用; System.Diagnostics を使用します。System.Windows を使用します。System.Windows.Controls を使用します。System.Windows.Input を使用します。

名前空間 BindingFocusTabIssue { public partial class MainWindow : Window { public MainWindow() { InitializeComponent();

}

0 投票する
1 に答える
2098 参照

asp.net - ASP.NET::テキストボックスコントロールのonblur/lostFocusイベントは、サーバー側のイベントをトリガーできますか?

サーバー側のイベントを添付して、次のようなフィールドでユーザーが入力した郵便番号の都市/州を検索しようとしています。

キャプチャするロストフォーカスイベントがないので、これを機能させる運があった人はいますか?

0 投票する
2 に答える
3906 参照

wpf - 添付プロパティとしての WPF TextBox lostfocus

多くの TextBoxes を持つ Grid があり、NotifyPropertyChanged() メソッドを呼び出して、これらの TextBox-es のいずれかが値を変更するたびに他のコントロールを更新したい = フォーカスを失った ( asを使用したくない)PropertyChangedUpdateSourceTrigger

これは私ができることです:

次のようなものが必要です:

0 投票する
2 に答える
1745 参照

wpf - WPFのTextBox(LostFocus、LostKeyboardFocusなど)からモデルを更新するには、どのイベントを使用する必要がありますか?WPFでイベントの優先順位を設定するにはどうすればよいですか?

たくさんのTextBoxと、Save、SaveAsなどのいくつかのボタンがあるアプリケーションがあります。

ユーザーがTextBoxを編集するとき、データベースで範囲を確認し、範囲を検証して、データベースを更新する必要があります。ユーザーが入力した値にエラーがある場合は、TextBoxがフォーカスを失うことを許可しないでください。

私はこれにLostFocusイベントを使用していましたが、最近アプリケーションのバグを発見するまでは正常に機能していました。

バグ:ユーザーがTextBoxの値を編集してから、[保存]ボタンをクリックします。LostFocusイベントが呼び出されないため、データベースが更新されません:(

ここで私の質問は、データベースを更新するためにTextBoxでどのイベントを使用する必要があるかです。TextChangedイベントを試しましたが、すべての文字に対して検証され、アプリケーションが遅くなります。この種のアプリケーションに適したイベントを選択するのに混乱しています。

:**ボタンは別のUserControlにあります!

編集1:ボタンのクリックにいくつかのコマンドがアタッチされています。これらのコマンドはLostFocusの前に実行されます!! 優先順位を設定したり、添付の動作やコマンドのようなものをLostFocusの後に実行することはできますか?

編集2:いくつかのコマンドを無効にしてアプリケーションをデバッグしていましたが、場合によっては、DelegateCommandがLostFocusの前に実行されるため、それを避けたいと思います。どうすればそれについて行くことができますか?開発中に、純粋なMVVMアプリケーションを開発することは不可能だと感じたので、少しコードビハインドを使用しています。

0 投票する
3 に答える
2672 参照

c# - LostFocus イベントに無限ループがあるのはなぜですか

私は C# の初心者で、基本的なアプリケーションを開発しています。
テキストボックスの値が次のコードで数値かどうかを確認したい:

テキストボックスに文字を入力すると、無限ループが発生し、実際には tb.Focus() によって LostFocus イベントが再帰的に呼び出されるようです。オブジェクトの Focus メソッドを呼び出すと、同じオブジェクトの LostFocus イベントがトリガーされる理由がわかりません。

0 投票する
1 に答える
2529 参照

wpf - ユーザーがメニューの外側をクリックしたときにWPFコンテキストメニューを非表示にするにはどうすればよいですか?

まず、標準情報:

VS2010 Ultimate
Win7 Ultimatex64WPF
アプリ

WPFコンテキストメニュー:

それを示すコード:

コンテキストメニューは、XAMLに組み込まれているWPFContextMenuです。システムトレイの通知アイコンはフォーム通知アイコンです(ネイティブのWPF通知アイコンはわかりません)。したがって、notifyicon.ContextMenuプロパティは使用されません。上記のコードは正常に機能します。ユーザーが通知アイコンを右クリックすると、コンテキストメニューが表示されます。

私が抱えている問題は、必要なときにContextMenuを削除することです。WPFアプリ内のどこかをクリックする限り、問題なく終了します。この動作は自動的に行われます。ただし、ユーザーがタスクバーなどの他の場所をクリックしても、メニューは消えません。「LostFocus」イベントは発生しません。これらのタイプのイベントは、要素が同じアプリ内の別の要素にフォーカスを失った場合にのみ発生するためです。アプリに関する限り、ContextMenuはフォーカスを失うことはありません。「非アクティブ化」は、私が使おうとしたもう1つのイベントでした。この時点で、アプリケーションには「トレイに近い」オプションがあることを明確にする必要があります。これにより、ユーザーが右クリックしてメニューを表示する前に、アプリケーションを閉じて非アクティブ化イベントを発生させることができます。メニューが表示されてもアプリは再アクティブ化されないため、非アクティブ化された場合でも再アクティブ化されません。

最後に、質問です。ユーザーがクリックした場所がコンテキストメニューを作成したアプリケーション内にない場合でも、ユーザーがクリックしたときにコンテキストメニューが消えるようにするにはどうすればよいですか?

0 投票する
3 に答える
1005 参照

vb.net - ASP.NET VB.NET - Winforms to Web - Web と同等の LostFocus リストビュー コントロールの実装

背景:提供された情報に基づいてデータベースにユーザーを登録し、ランダムなパスワードとユーザー名を自動生成し、選択したマーケティング会社に基づいてアプリケーションを取得するためのリンクをユーザーに電子メールで送信する winForm アプリがあります。

問題:

  • ユーザーが lbCarrier を選択すると、リストボックスにバンドルが表示されません。b/c ロストフォーカス機能が asp.net で機能しません。ASP.NET の lbCarrier リストボックスで選択されているものに基づいて、バンドル リストボックスを自動入力するために使用できるコードは何ですか?

ウェブアプリのスクリーンショット

default.aspx.vb からのコード:

0 投票する
6 に答える
18424 参照

wpf - このLostFocus/LostKeyboardFocusの問題をどのように解決しますか?

わかりました。IsEditingプロパティを持つコントロールがあります。これは、引数のために、通常はテキストブロックであるデフォルトのテンプレートを持っていますが、IsEditingがtrueの場合、インプレース編集のためにテキストボックスにスワップします。これで、コントロールがフォーカスを失ったときに、まだ編集中の場合は、編集モードを終了して、TextBlockテンプレートにスワップバックすることになっています。かなり簡単ですよね?

Windowsエクスプローラーまたはデスクトップでファイルの名前を変更する動作を考えてみてください(これは私が知っているのと同じことです...)それが私たちが望む動作です。

問題は、別のウィンドウ(またはFocusManagerである要素)に切り替えると、コントロールに論理フォーカスがあるためLostFocusが起動せず、機能しないため、LostFocusイベントを使用できないことです。

代わりにLostKeyboardFocusを使用すると、「その他のFocusManager」の問題は解決しますが、新しい問題が発生します。編集中にテキストボックスを右クリックすると、コンテキストメニューが表示されます。これは、コンテキストメニューにキーボードが含まれているためです。フォーカスすると、コントロールはキーボードフォーカスを失い、編集モードを終了してコンテキストメニューを閉じ、ユーザーを混乱させます。

ここで、メニューが開く直前にLostKeyboardFocusを無視するようにフラグを設定し、LostKeyboardFocusイベントでそのフラグを使用して、編集モードを終了するかどうかを決定しようとしましたが、メニューが開いていて、アプリでは、コントロール自体にキーボードフォーカスがなくなったため(メニューにフォーカスがあった)、コントロールが別のLostKeyboardFocusイベントを取得することはなく、編集モードのままになります。(メニューが閉じたときに、フォーカスがあるものを確認するためのチェックを追加し、コントロールでない場合は手動でEditModeからキックアウトする必要がある場合があります。これは有望なようです。)

だから...誰かが私がこの振る舞いをうまくコーディングする方法を知っていますか?

マーク