問題タブ [selectionchanged]

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 投票する
0 に答える
2743 参照

wpf - DataGrid SelectedIndex Changed イベント ハンドラ

このコードを使用して自動スクロールしようとしている WPF DataGrid があります。

私が抱えている問題は、DataGrid の SelectedIndex が変更されるたびに、このイベント ハンドラーが呼び出されないことです。はい、グリッドをクリックしたり、アイテムを追加または削除したりすると呼び出されますが、現在選択されているアイテムを基になるコレクションで上下に移動するなど、他のアクションでは呼び出されません。

mydatagrid.ItemsSource = Seq;

(ここで、Seq は ObservableCollection<> から派生した型のオブジェクトです)。

私のトラブルシューティングの試みでは、TextBlock のテキストを mydatagrid の SelectedIndex プロパティにバインドしました。データグリッドおよび/または基になるデータ ソースで実行するアクションに関係なく、インデックス番号は完全に更新されます。

だから私の質問は:私の小さなテキストブロックバインディングの例と同じように、SelectedIndexの値へのANYおよびALL変更時に呼び出されるC#コードでイベントハンドラーを作成するにはどうすればよいですか?

DataGrid の propertyChanged イベントを見つけようとしましたが、役に立ちませんでした。リモートで関連していると思われる DataGrid のすべてのイベントを利用しようとしましたが、役に立ちませんでした。基になるコレクションの CollectionChanged イベントも使用してみましたが、これはデータグリッドとうまく同期していないようです (少なくともイベントが発生した時点では)。

ありがとう

0 投票する
4 に答える
8647 参照

vb.net - リストビューの選択されたインデックスが2回起動するのを避ける

非常に単純な質問です。リスト ビューの選択されたインデックスが変更されると、イベントが 2 回発生します。

さまざまな時点で選択または選択解除するときにイベントを使用する必要がありますが、選択を解除してしばらくしてから再選択すると、有効になっているUIフラッシュの半分がオンからオフになり、再びオンになり、かなりのコードが実行されます。クリックされたのが別の項目であり、空白ではなかった場合 (選択解除のため)、選択解除の発火を回避する方法が必要です。

Dave R はここで 100 ミリ秒のタイマーを使用するように言っ ています。

私の他の唯一のアイデアは、クリックイベントを使用して、その場所でアイテムを見つけることでしたか? しかし、私はむしろ面倒なことに行きたくない

前もって感謝します!

-編集-

クリックイベントが最初に発生すると思ったので、クリックイベントがアイテムで発生した場合に選択インデックスの変更されたコードをスキップするフラグを設定し、使用後にフラグをリセットして、選択解除をスキップできますか? 今見てみますが、非常に単純に聞こえることを行うための非常に効率的または簡単な方法のように思えませんか?

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

wpf - ItemsSource にアクセスせずに ListBox に項目を追加する

プロジェクトを .NET 3.5 から 4.0 にアップグレードしたところ、ListBox の動作が異なることがわかりました。コード ビハインドから ListBoxes に項目が追加されることがあります。

これにより、myListBox.SelectionChanged イベントが発生しなくなり、プログラムにバグが発生しています。これを行うより良い方法はありますか?

ありがとう、マット

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

c# - ユーザーが同じ日付を選択したときに考慮するカレンダーイベント

リンクボタンを使用してカレンダーを切り替えています。calendar.selection_changedイベントを使用して日付を取得し、カレンダーコントロールを非表示にしました。ただし、ユーザーが同じ日付をもう一度選択しようとした場合、日付を取得してカレンダーの表示を変更するには、どのイベントを検討する必要がありますか。

ありがとうPS:enable view stateプロパティを使用すると、同じ日付で機能しますが、トグルは機能しなくなります。

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

c# - ウィンドウからユーザーコントロールで選択したリストボックスアイテムを取得します

私はとを持ってUser controllist boxます。

これUser controlは私の窓にあります。ユーザーコントロールのリストボックスから選択したアイテムを検出して取得するにはどうすればよいですか?

以前にこれを試しましたが、リストボックスのe.OriginalSourceリターンTextBlockタイプからアイテムを選択すると。

SelectionChangedまたは、From Myフォームでリストボックスを検出するより良い方法はありますか?

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

datagrid - .NET 4.0 DataGridCombobox SelectionChanged の問題

私のプログラムでは、コンボボックスで項目が選択されるとすぐに、コンボボックスに (ViewModel から) バインドされたオブジェクトが更新されるという要件があります。現在、オブジェクトは、Enter キーを押すか、セルを離れることによって編集がコミットされた場合にのみ更新されます。ユーザーは余分なステップを望んでいません。

私の考えでは、コンボボックス内の項目を選択する行為で CommitEdit() メソッドをトリガーし、次に CancelEdit() をトリガーすることです。ただし、使用できないため、DataGridComboBoxColumn の SelectionChanged イベントにフックする方法を見つけることができないようです。

その他の提案は、ビューモデルでプロパティ変更イベントをリッスンすることですが、セル編集が完了するまでプロパティは変更されません。

ユーザーが Enter キーを押したか、セルを離れたかのように、DataGridCombobox で新しい項目 (インデックス) を選択してセルの編集を閉じる方法を考えられる人はいますか?

注: お客様の制限により、.NET 4.5 を使用できません。

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

wpf - WPF の SelectionChanged イベントは、ユーザー インタラクションに対してのみ処理できますか?

ユーザーの操作/選択のみのためにWPF DataGrid要素でSelectionChangedイベントを処理し、バインディングまたはその他の設定値が原因である場合はスキップしたいと思います。Selection がユーザーの操作によって変更されたかどうかを判断する方法はありますか? または、同様のタスクを実行する代替イベントはありますか?

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

wpf - WPFコンボボックスで選択されたインデックスの変更?

私のアプリをWinFormsからWPFに変換しています。WinFormsでコンボボックスをクリアすると、combobox.selectedindexchangeが起動しないというこの問題に遭遇しました。ユーザーが実際にインデックスを変更したときにのみ起動します。

それが私に必要な機能です。ただし、WPFではcombobox.SelectionChangedしか見つかりません。残念ながら、これはインデックスの変更とコンボボックスのクリア(変更)の両方で発生します。

WPFで、ユーザーがインデックスを変更したときにのみイベントをトリガーするにはどうすればよいですか?WinFormsソリューションのような、私が見逃しているソリューションがあると思います。グローバル変数を使用してゲームをプレイしないようにし、以前に選択されたものを追跡する必要があります....それは混乱です。

Mouseleaveも混乱です。

助けていただければ幸いです。

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

listview - WinRTでのMvvmCrossおよびListBox/ComboBoxバインディング

WinRTアプリケーションでリストボックスとコンボボックスの選択変更イベントを実装する必要があります。私はMvvmCrossを使用していますが、これはMvx固有の問題ではなくWinRTの問題です。System.Windows.InteractivityはWinRTアプリケーションでは使用できないため、i:Interaction.Triggersに基づく手法を使用できません。コードビハインドに切り替えることなく、真のMVVMの方法でバインディングを実装したいので、他のプラットフォームで可能な限り再利用できます。WinRTアプリに実装するための合理的なアプローチは何ですか?MvvmCrossサンプルに例は見つかりませんでした。

前もって感謝します

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

windows-phone-7 - selectionChangedイベントをトリガーせずにリストボックス内のアクセス制御

Windows Phoneのリストボックスには、このチュートリアル (オプション2)を使用して、各項目のチェックボックスを追加しました。リストボックスのSelectionChangedイベントが発生する前。ユーザーがチェックボックスをオンにしたときにイベントが発生しないようにするにはどうすればよいですか?SelectionChangedイベントは、チェックボックスではなく、リストボックスのテキストボックスにヒットしたときにのみ発生するはずです。

それが私のリストボックスです:

これらは私のチェックイベントです:

また、チェックボックスをオンにした場合にのみ、selectionChangedイベントが発生することにも言及する必要があります。チェックを外したときではありません。