問題タブ [itemssource]

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 に答える
1315 参照

wpf - アイテムソースとしてXMLを使用するListBoxItemTemplateバインディングの問題

少し困っています...

これが私の「mappings.xml」ファイルです...

XMLをロードし、リストボックスのItemsSourceとして設定する私のメソッド:(注:使用したいLINQ-Compatibleではなく、のセットを提供するため、XAML
では使用しませんでした。<XMLDataProvider>XML.XMLElementXElement

XAMLで

XPathも「。@QID」に設定してみましたが、違いはありませんでした。myListBox.Itemsコレクションを調べて、実際XElementにそのようなオブジェクトであることが確認された<mapping QID="..."><empty/></mapping> ので、問題はないと思います。

最終結果は、空のオブジェクトで埋められるリストボックスです。それらをフィルタリングし、並べ替えて、バインドされていないテキストを追加することはできますが、ソースオブジェクトへのバインドはレンダリングされません。

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

wpf - ItemsSource が変更されると、SelectedValue の明示的なバインドが更新されます..なぜですか?

明示的なバインディングが SelectedValue に設定された ListBox があります。

ListBox の ItemSource は ObservableCollection です。

ListBox の項目を選択して Enter キーを押すと、次のようにプロパティ値が更新されます。

今、私はこの問題を抱えています: ウィンドウで特定のアクションによって ListBox の ItemsSource をリセットする必要があり、ItemsSource の「Clear」メソッドを呼び出すと、SelectedValue へのバインディングが (null に) 更新されます! なんで?

どうすれば回避できますか?

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

silverlight - ListBoxに関連するItemsSourceとDataContextの違い

私は、ItemsSource と DataContext の違いをよく理解していません。誰かがそれを説明し、例を挙げてバックアップできますか? どちらか一方をいつ使用しますか。

ドキュメントを読んでいると、DataContext を使用してバインドできると書かれていますが、ObservableCollection をスローしてもリストに何も表示されません。ItemsSource で同じコレクションをスローすると、正常に動作します。

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

wpf - WPF マージ項目ソース リスト

バックエンド クラスで 2 つのリストを使用しています。各リストは異なるタイプです。ユーザーに単一のリスト (両方のリストの結合を含む) を提示したいと考えています。このリスト内の項目が選択されると、その項目の詳細が表示されます。

コードは次のようになります。

私のバックエンドクラスは次のようになります

私のXAMLは次のようになります

助言がありますか?

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

wpf - WPF - ItemsSource から項目を削除する最良の方法

ItemsControlユーザーがタブを閉じると、各項目 (タブ) が UI から削除されるカスタム(タブ付きドキュメント コンテナー) を作成しています。ItemsControl.Itemsただし、アイテムがデータバインドされている可能性があるため、コレクションから直接削除することはできません。だから私はそれをから削除する必要がありItemsSourceます。これは何でもかまいません(、、ICollection... )。DataTableDataSourceProvider

私のアプリケーションのコンテキストでは、 の実際の型はわかっていますItemsSourceが、後で再利用できるように、そのコントロールをより一般的なものにしたいと考えています。

そのため、そのタイプを知らなくても、データ ソースからアイテムを削除する方法を探しています。リフレクションを使用できますが、汚れているように感じます...これまでのところ、私が思いついた最良の解決策は次を使用することdynamicです:

しかし、私はそれに満足していません。もっと良い方法があるに違いないと確信しています。任意の提案をいただければ幸いです!

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

wpf - 不当なWPF DataGridの読み込み時間

私は常に WPF DataGrid の読み込みに長い時間がかかり、同様のレポートをオンラインで見つけることができないため、何か間違ったことをしているのではないかと疑っていました。レイアウトの複雑さを追加すると実行が大幅に遅くなるため、今では確信しています。非常に単純なレイアウトでは、DataGrid は瞬時に入力されますが、以下のコードの実行には約 3 秒かかります。

次のコードでは、各セルがどのプロパティにもバインドされておらず、AutoGenerateColumns=False を使用している場合でも、150 行と 11 列を読み込むのに約 3 秒かかります。(十分な RAM を備えた 2 コアの 2.6GHz プロセッサを使用しています)。

ItemsSource プロパティがレイアウトで次のように設定されている場合、ボトルネックが発生します。

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

c# - WPF、ListBoxに何も表示されない

ここで何が間違っているのかわかりません。とListBoxが設定されていますが、アプリを実行するとDataContextItemsSourceは何もありません。ListBoxデバッグ時に、アイテムを取得するためのメソッドの最初の行ListBoxがヒットすることはありません。ここに私が持っているものがあります:

ここに私のXAMLがあります:

Templateクラスのインスタンスには、Name単なるstring. 私が望むのは、テンプレート名のリストを表示することだけです。ユーザーは のデータを変更しません。読み取り専用にTemplateするListBox必要があります。

Template には、Data後で this に表示するプロパティもあります。そのため、文字列のリストだけListBoxを返すようにしたくありません。オブジェクトGetTemplatesのコレクションを返す必要があります。Template

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

wpf - WPF - コンボボックスのSelectedItemが設定されていませんか?

オプションの静的にバインドされた ItemsSource を持つ ComboBox がList<CustomSettings>あります。ComboBox は、CustomObject クラスにバインドされたフォームの一部であり、そのクラスのプロパティの 1 つが CustomSettingProperty です。

ComboBox の SelectedItem を CustomObject で指定されたプロパティにバインドしたいのSelectedItem="{Binding Path=CustomSettingProperty}"ですが、デフォルトの選択項目を設定していません。ブレークポイントを使用すると、get;メソッドを呼び出していることがわかります。そのため、CustomSettingProperty が とは別に作成されているList<CustomObject>ため、WPF は同じアイテムであると認識していないことが問題であると考えられます。

これを行う簡単な方法はありますか?または、CustomSettings クラスには Id が含まれているため、代わりになるのでしょうか?

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

wpf - 単一項目コンバーターを ItemSource プロパティに適用する方法は?

コンバーターを使用して ListBox の ItemSource をセットアップします。

ただし、コンバーターはコレクション全体を変換するため、これは私には醜く見えます。単一のアイテムのみを変換する、より用途の広いコンバーターを好むでしょう。私は問題なく書くことができますが、一度にすべてのアイテムではなく、ListBoxにコンバーターを1つずつ呼び出すように強制するにはどうすればよいですか?

もっと精巧に、ListBox の ItemTemplate を定義できることはわかっています。

しかし、これは ListBox で使用されるウィジェットに干渉し、少し長くなります。

では、どうやってそれを行うか - 簡単に言えば?うるさくてごめんなさい、私はきれいなコードが好きです:-)

オフトピック

私は答えが完全に間違った方向に進む可能性があると感じている (そして見ている) ので、これが私の FunctionConverter です。

したがって、データにアクセスできるバックエンドがあり、UI に依存せず、UI があります。バックエンドとフロントエンド間のリンクを確立するには、上記のコンバーターを使用します。これは最小限のコード アプローチであり、柔軟性があります。

GeneratorNames は一意のキーと値を持つ連想配列であるため、値またはキーをインデックスとして使用してクエリを実行できます。

間に新しいレイヤーを追加しても、私の問題は実際には解決されず、私の質問には答えられません。また、興味があるとしても、多くのコードが追加されます (そして、それがまさに私が興味がない理由です。上記の 2 ライナーが表示されている場合1行だけにする必要があるものは何でも良いです)。

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

wpf - コードおよびxamlでのListBox.ItemsSourceバインディング

私は次のような簡単なコードを書きました

およびxamlで

次に、xamlでItemsSourceプロパティを設定したいと思いました。そのために、私は次のように書きました。

残念ながら、それは機能しません。その理由と方法を説明していただけますか?