問題タブ [selecteditemchanged]

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

wpf - WPF TreeView の SelectedItemChanged イベントがバブリングしないようにする

イベントTreeViewをトリガーするWPFがあります。SelectedItemChangedでアイテムを選択するたびに、選択したアイテムとツリー内の選択したすべてのノードの祖先TreeViewに対してSelectedItemChangedイベントがトリガーされます。

SelectedItemChangedイベントが複数回発生するのを防ぐにはどうすればよいですか?

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

c# - コンボボックスとグリッドビュー

ドロップダウンリストのアイテムを選択した場合、グリッドビューにアイテムの詳細を表示したいのですが、助けてください

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

c# - c#、リストボックス、stackOverflow 例外

KryptonToolkit の ListBox コントロールを継承して、SelectedItemChanging イベントを取得しました。

フォームでは、コードでイベントを処理します:

そして、stackOverflow ;)例外が発生しました。たぶん、誰かがこのコードで何が間違っているのでしょうか?

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

wpf - WPFはcoding-SelectionChangedとmouse-SelectionChangedを区別します

マキャベリ的な質問があります(私にとって)。私の WPF アプリケーションには、ItemTemplate に Combobox を持つ ListBox があります。ユーザーが ComboBoxItem を選択すると、ListBox の ItemsSource である ObservableCollection に対していくつかの複雑な操作を行う必要があります。次に、変更されたデータで ListBox を表示する必要があります。問題は、ComboBox コントロールのイベント「SelectionChanged」を処理すると、イベントを処理するメソッドに入力するコンボボックス項目のソース クラスを変更するたびに、間違った結果が生成されることです。つまり、コードによって生成された SelectionChanged と、ユーザーがマウスで手動で生成した SelectionChanged を何らかの方法で区別する必要があります。私は多くの方法を試しましたが、うまくいきません:-(

私が最善だと思った解決策は、Combo の ItemContainerStyle の ContentPresenter のイベント「GotFocus」または「MouseUp」を処理するか、または ItemsPanel の同じイベント (「GotFocus」および「MouseUp」) を処理することです。コンボですが、私が処理したメソッドはイベントをキャプチャしませんでした(デバッグでは、カーソルはメソッドにまったく入りません)。

メソッドがすべて実行された後に ComboBoxItems のソースクラスの変更が発生するため、「最初のラウンド」が終了するまでブール値を使用してメソッド「SelectionChanged」を停止することはできません。

Combos のデフォルト値は常に最初であるとは限りません (簡単すぎるでしょう :-))、常に同じであるとは限りません。ユーザーがいずれかのコンボのアイテムを選択するたびに、他のコンボのデフォルト値を変更する必要があります。

手伝って頂けますか?ピレッジ

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

wpf - すべての DataGrid の選択された項目を取得する方法。(最新の状態)

現在、ユーザーが選択したデータグリッド行のコレクションを取得しようとしています (複数行選択)。

各行は、選択したものとして表示したいビジュアル オブジェクトにバインドされています」

したがって、データ グリッドには、次のスタイルを追加しました。

したがって、ユーザーが行を選択すると、イベントが発生します。

ただし、行を選択してイベントに入る場合。選択したアイテムはまだ更新されておらず、以前に選択したアイテムがまだ表示されています。DataGrid.CurrentItem は、クリックしたばかりで選択しようとしている行を示していますが、複数選択されているため、現在選択されているすべての行を取得し、視覚オブジェクトを「強調表示」できるようにしたいと考えています。

データグリッドから選択したアイテムの最も更新されたリストを取得する方法はありますか? 新しい行を選択した後に発生する、使用できるイベントはありますか?

よろしくお願いします、ケブ

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

wpf - WPF TreeViewはTreeViewItemの選択をキャンセルします

この問題の解決策を探していますが、まだ適切な解決策を見つけることができません。助けてください。基本的に、オブジェクトのリストにバインドされたツリービューがあります。ユーザーが treeviewitem をクリックすると、treeviewitem に基づいてデータ グリッドのデータが読み込まれます。ユーザーはグリッド内のデータを変更できます。データ グリッドに変更があり、ユーザーが別のツリービュー項目をクリックすると、ユーザーは保存するよう求められます。ユーザーは、はい、いいえ、またはキャンセルを選択できます。ユーザーがキャンセルを選択すると、アプリケーションは、ユーザーがデータ グリッドを保存するまで、ユーザーを現在のツリービュー項目にとどまらせる必要があります。問題は、ユーザーが別のツリービュー項目を選択すると、以前の選択が再度選択されるようにできないことです。「SelectedItemChanging」イベントはありません。WPF ツリービューには SelectedItemChanged イベントしかありません。私' 複数のソリューションを試していますが、常に無限に終わります。ヒントやアドバイスがあれば教えてください。

ありがとう、ミン

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

c# - SelectedItemChangedイベントはObservableCollectionにバインドされます>>

これが私のTreeViewの「ItemSource」であるObservableCOllectionです:

私は今SelectedItemChangedイベントを書いているのですが、次の問題が発生しました。私が試した限りでは、関数宣言のためにそれ以外のものを取得することはできません:

(そして私はxamlで次のコードを取得しました:

)。

事は私がするときそれです

もちろん取得しましたTuple<string, object>が、plugin_SelectedでItem2(タプルのオブジェクト)にアクセスする必要があります。頭に浮かんだ論理的なことは、関数を次のように書き直すことでした。

しかし、次のエラーが発生しました:

では、タプルのItem1(文字列)とItem2(オブジェクト)の値にアクセスするにはどうすればよいですか?

編集:私は問題を解決する方法であるかもしれないこのテストを得ました

しかし、私は次に何をすべきかわかりません:のような何かを引き起こします:

コンパイルされません...:(

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

java - mysql データベースの値を JComboBox に取得する

次のコードを使用して、データベースからJComboBox. 正常に動作していました。私の問題は、このコードを実行するときです.jComboboxのアイテムStudIdをクリックすると、テキストボックスでクリックされたアイテムが必要ですが、このコードは最初の要素のIDのみを返します. 別のアイテムをクリックしても、テキスト ボックスの値が変更されません。このコードで項目変更オプションを使用するには?

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

wpf - ツリービューで選択されたアイテムは、サービスコールでルートアイテムに変更されます

ダイアログとして開いているウィンドウにTreeViewがあります。アイテムをクリックすると、そのアイテムが選択されます。ただし、サービスコールがあると、選択したアイテムがルートアイテムに変わります。TreeViewのDataContextは「作成者」の配列であり、それぞれに「ページ」の配列を含む「本」の配列が含まれています。サービス呼び出しから「作成者」の配列と「ページ」PDFのバイトを取得します。「著者」と「本」はTreeViewに表示されますが、「ページ」は表示されません。「本」をクリックすると、「ページ」の配列がコンボボックスにロードされ、最初の「ページ」がPDFビューアに表示されます。「ページ」は、サービス呼び出しによってサーバーからロードされます。ルートの「作成者」

注:これは私が実際に使用しているコードですが、会社のプライバシーポリシーにより、名前が変更されています。ただし、機能的にも構造的にもすべて同じです。

基本的に、XAMLとコードビハインドは次のとおりです。

XAML:

C#:

データコンテキストオブジェクト:

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

c# - ユーザーが子を選択した後、TreeViewが親を自動選択する

私のウィンドウには、TreeViewとTextBoxがあります。TextBoxがカスタムスクリプトの記述に使用され、TreeViewが挿入する関数を選択する方法であると偽ります。CrystalReportスクリプトエディタだと思います。

私の目標は、ユーザーがTreeViewの子の1つをクリックし、その子がTextBoxに挿入されることです。子は関数シグネチャであり、親ノードの下にあります。次に、ユーザーはTextBoxに移動し、関数パラメーターの1つを選択して、それを別の関数署名に置き換えることができます。これを実現するために、TreeViewのSelectedItemChangedイベントを処理し、TextBoxのSelectedTextを設定して、変更後にテキストを強調表示しようとします。

TextBoxのSelectedTextは適切に交換されています。ただし、テキストは強調表示されておらず、スクロールバーは選択したテキストまでスクロールしていません。

動作を再現するために作成したテストプロジェクトのXAMLは次のとおりです。

そして、ここにコードビハインドがあります:

SelectedItemChanged e.Handled=trueを設定してみました。それはうまくいきませんでした。TextBoxのLostFocusを処理し、e.Handled = trueを設定しようとしましたが、機能しませんでした。これは、HierarchicalDateTemplateを使用した場合にのみ発生するようです。データを1レベルのみに変更すると、この設定は正常に機能します。

何か案は?