問題タブ [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.
wpf - アイテムソースとしてXMLを使用するListBoxItemTemplateバインディングの問題
少し困っています...
これが私の「mappings.xml」ファイルです...
XMLをロードし、リストボックスのItemsSourceとして設定する私のメソッド:(注:使用したいLINQ-Compatibleではなく、のセットを提供するため、XAML
では使用しませんでした。<XMLDataProvider>
XML.XMLElement
XElement
XAMLで
XPathも「。@QID」に設定してみましたが、違いはありませんでした。myListBox.Items
コレクションを調べて、実際XElement
にそのようなオブジェクトであることが確認された<mapping QID="..."><empty/></mapping>
ので、問題はないと思います。
最終結果は、空のオブジェクトで埋められるリストボックスです。それらをフィルタリングし、並べ替えて、バインドされていないテキストを追加することはできますが、ソースオブジェクトへのバインドはレンダリングされません。
wpf - ItemsSource が変更されると、SelectedValue の明示的なバインドが更新されます..なぜですか?
明示的なバインディングが SelectedValue に設定された ListBox があります。
ListBox の ItemSource は ObservableCollection です。
ListBox の項目を選択して Enter キーを押すと、次のようにプロパティ値が更新されます。
今、私はこの問題を抱えています: ウィンドウで特定のアクションによって ListBox の ItemsSource をリセットする必要があり、ItemsSource の「Clear」メソッドを呼び出すと、SelectedValue へのバインディングが (null に) 更新されます! なんで?
どうすれば回避できますか?
silverlight - ListBoxに関連するItemsSourceとDataContextの違い
私は、ItemsSource と DataContext の違いをよく理解していません。誰かがそれを説明し、例を挙げてバックアップできますか? どちらか一方をいつ使用しますか。
ドキュメントを読んでいると、DataContext を使用してバインドできると書かれていますが、ObservableCollection をスローしてもリストに何も表示されません。ItemsSource で同じコレクションをスローすると、正常に動作します。
wpf - WPF マージ項目ソース リスト
バックエンド クラスで 2 つのリストを使用しています。各リストは異なるタイプです。ユーザーに単一のリスト (両方のリストの結合を含む) を提示したいと考えています。このリスト内の項目が選択されると、その項目の詳細が表示されます。
コードは次のようになります。
私のバックエンドクラスは次のようになります
私のXAMLは次のようになります
助言がありますか?
wpf - WPF - ItemsSource から項目を削除する最良の方法
ItemsControl
ユーザーがタブを閉じると、各項目 (タブ) が UI から削除されるカスタム(タブ付きドキュメント コンテナー) を作成しています。ItemsControl.Items
ただし、アイテムがデータバインドされている可能性があるため、コレクションから直接削除することはできません。だから私はそれをから削除する必要がありItemsSource
ます。これは何でもかまいません(、、ICollection
... )。DataTable
DataSourceProvider
私のアプリケーションのコンテキストでは、 の実際の型はわかっていますItemsSource
が、後で再利用できるように、そのコントロールをより一般的なものにしたいと考えています。
そのため、そのタイプを知らなくても、データ ソースからアイテムを削除する方法を探しています。リフレクションを使用できますが、汚れているように感じます...これまでのところ、私が思いついた最良の解決策は次を使用することdynamic
です:
しかし、私はそれに満足していません。もっと良い方法があるに違いないと確信しています。任意の提案をいただければ幸いです!
wpf - 不当なWPF DataGridの読み込み時間
私は常に WPF DataGrid の読み込みに長い時間がかかり、同様のレポートをオンラインで見つけることができないため、何か間違ったことをしているのではないかと疑っていました。レイアウトの複雑さを追加すると実行が大幅に遅くなるため、今では確信しています。非常に単純なレイアウトでは、DataGrid は瞬時に入力されますが、以下のコードの実行には約 3 秒かかります。
次のコードでは、各セルがどのプロパティにもバインドされておらず、AutoGenerateColumns=False を使用している場合でも、150 行と 11 列を読み込むのに約 3 秒かかります。(十分な RAM を備えた 2 コアの 2.6GHz プロセッサを使用しています)。
ItemsSource プロパティがレイアウトで次のように設定されている場合、ボトルネックが発生します。
c# - WPF、ListBoxに何も表示されない
ここで何が間違っているのかわかりません。とListBox
が設定されていますが、アプリを実行するとDataContext
にItemsSource
は何もありません。ListBox
デバッグ時に、アイテムを取得するためのメソッドの最初の行ListBox
がヒットすることはありません。ここに私が持っているものがあります:
ここに私のXAMLがあります:
Template
クラスのインスタンスには、Name
単なるstring
. 私が望むのは、テンプレート名のリストを表示することだけです。ユーザーは のデータを変更しません。読み取り専用にTemplate
するListBox
必要があります。
Template には、Data
後で this に表示するプロパティもあります。そのため、文字列のリストだけListBox
を返すようにしたくありません。オブジェクトGetTemplates
のコレクションを返す必要があります。Template
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 が含まれているため、代わりになるのでしょうか?
wpf - 単一項目コンバーターを ItemSource プロパティに適用する方法は?
コンバーターを使用して ListBox の ItemSource をセットアップします。
ただし、コンバーターはコレクション全体を変換するため、これは私には醜く見えます。単一のアイテムのみを変換する、より用途の広いコンバーターを好むでしょう。私は問題なく書くことができますが、一度にすべてのアイテムではなく、ListBoxにコンバーターを1つずつ呼び出すように強制するにはどうすればよいですか?
もっと精巧に、ListBox の ItemTemplate を定義できることはわかっています。
しかし、これは ListBox で使用されるウィジェットに干渉し、少し長くなります。
では、どうやってそれを行うか - 簡単に言えば?うるさくてごめんなさい、私はきれいなコードが好きです:-)
オフトピック
私は答えが完全に間違った方向に進む可能性があると感じている (そして見ている) ので、これが私の FunctionConverter です。
したがって、データにアクセスできるバックエンドがあり、UI に依存せず、UI があります。バックエンドとフロントエンド間のリンクを確立するには、上記のコンバーターを使用します。これは最小限のコード アプローチであり、柔軟性があります。
GeneratorNames は一意のキーと値を持つ連想配列であるため、値またはキーをインデックスとして使用してクエリを実行できます。
間に新しいレイヤーを追加しても、私の問題は実際には解決されず、私の質問には答えられません。また、興味があるとしても、多くのコードが追加されます (そして、それがまさに私が興味がない理由です。上記の 2 ライナーが表示されている場合1行だけにする必要があるものは何でも良いです)。
wpf - コードおよびxamlでのListBox.ItemsSourceバインディング
私は次のような簡単なコードを書きました
およびxamlで
次に、xamlでItemsSourceプロパティを設定したいと思いました。そのために、私は次のように書きました。
残念ながら、それは機能しません。その理由と方法を説明していただけますか?