問題タブ [listboxitem]
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.
.net - 「バインド時」にListBox内のアイテムのListBoxItemを取得する方法
Fooオブジェクトを含むListBoxがあり、いくつかのイベントに基づいて、ListBoxのListBoxItemsを無効/有効にします。ListBox.Itemsプロパティを使用して、Fooオブジェクトを見つけました。理解したことから、FooのListBoxItemコンテナーを取得するには、次の関数を使用する必要があります。正しい?
実際、私はListBoxを継承し、それに追加のプロパティを追加するカスタムコントロールFilteringListBoxを持っています。上記のコードは、カスタムコントロールの背後にあるコード内にあり、FilteringListBoxの作成が完了すると正常に機能します。ただし、私の問題は、いくつかのプロパティがバインドされているときにこれを実行しようとすることです。プロパティFilteringCollectionと、これがバインドされたときにトリガーされるPropertyCallbackがあります。このコールバックでは、FilteringCollectionを保存しますが、最初のフィルタリングも実行します。つまり、setコレクションを実行し、FilteringCollectionにあるFooを表すListBoxItemを無効にします。
これは私が問題を抱えるところです。すべてのFooを見つけたので、ItemsSourceが設定されていることを確認しましたが、ItemContainerGenerator.ContainerFromItemを実行するとnullになります。ListBoxItemsがまだ作成されていないようです。そうじゃない?これが私のバインディングです:
それで; どちらか:「バインド時」にListBoxItemsを取得するにはどうすればよいですか?または-私ができない場合; ListBoxがListBoxItemsの作成を完了したことを通知するオーバーライド可能なイベントはありますか?運がなくてInitializedを試してみました...
.net - ListBox の ListBoxItems はいつ作成されますか?
次のように、ItemsSource にバインドする ListBox があります。
アイテムを保持する ListBoxItems ですぐにいくつかの操作を実行したいのですが、すぐには作成されないようです。彼らは?通知を受けるためにリッスンできるイベントはありますか、または単に ListBoxItem を無効な方法で取得しようとしていますか? 私はこのようにしています(そして、ListBoxが「準備ができている」ことがわかっている場所で動作することを確認しました):
これは単体テストで行われていることに注意してください。そのため、ListBox がレンダリングされることはないと思います。それが ListBoxItems が作成されない理由ですか? ListBoxItems の作成を何らかの方法で手動でトリガーできますか?
silverlight - Silverlight ListBox の高さ 自動的に増加
Silvelight リストボックス コントロールを使用していますが、行き詰まりました。データを 2 番目のリストボックス コントロールにバインドすると、すべてのリストボックス項目に別のリストボックス項目が含まれるようになりました。水平スクロールバーが表示され、削除しても問題ありません。アイテムを 2 番目のリストボックスにすると、その高さは自動的に増加しますか?
2 番目のリストボックスでは、Height=Auto はスクロールするため機能しません。
それは可能ですか?
どうも。
XAML コードは次のとおりです。
wpf - ListBoxItemContainerStyle 内の特定のコレクション アイテムのプロパティへのバインディング
Observable Collection から継承された CompaniesCollection に含まれる Company オブジェクトのコレクションがあります。CollectionViewSource を介して、これらの会社をリスト ボックスに表示しています。私の要件の 1 つは、各会社の項目は、各会社に関連付けられた (アドレスのコレクションの) 最初のアドレスの市と州を表示する必要があるということです。
これらの値を表示するために考えられることはすべて試しましたが、できないようです。各 Company オブジェクトに実際に少なくとも 1 つの Address があることを確認しました (ほとんどの場合、2 つ以上あります)。
会社を表示するために使用している ListBoxItemContainer の ControlTemplate は次のとおりです。
また、ControlTemplate.Resources の CollectionViewSources に Addresses (およびその連絡先) を読み込んで、無駄にアクセスしようとしました。DataBound ListBoxItem で子コレクション (およびそのコレクション内の特定のアイテム) にアクセスするにはどうすればよいですか? どんな助けでも非常に役に立ちます。
wpf - ストレッチ ListBoxItem スタイルの問題
のコンテンツを拡張する際に問題がありListBoxItem
ます。DataTemplate
aと aを使用してGrid
、最後の列のコンテンツを右揃えに配置します。しかし、この種の表示を防ぐコントロールの基本的なスタイルに何かが必要です-「*」(「残りのスペースをすべて消費する」)は「auto」(「本当に必要なものだけを取る」)のように表示されます。
ListBox
すべてのesのスタイル:
私のListBox
:
カテゴリは左側に、電話とモバイルは右側に、名前と位置は左側のスペース全体を埋める必要があります。リストボックスの幅のスペースを視覚的に埋めますが、アイテム内に「全体」のスペースがないようです。
誰でも私を助けることができますか?私はこれについて怒っています。:-(
編集:画像
silverlight - ListBox 内の最も広い要素の幅を決定する
ListBox の幅を明示的に設定しない場合、その幅は、最も幅の広い表示項目の幅に自動的に設定されます。これは、上下にスクロールし、最も幅の広い表示データ項目が変化すると、リストボックス自体の幅が増減することを意味します。
では、リスト内の最も幅の広い項目の幅を見つけて、ListBox の幅をそれに設定する最良の方法は何でしょうか? ListBox のデータ テンプレートは、CheckBox と TextBlock を含む StackPanel であるため、明らかに Textblock の幅はその中の文字列の長さによって異なります。
SO には既にいくつかの提案があり、「推測する」から「テキスト サイズを測定する」までの範囲の回答があります (UI 要素に配置せずに SL でテキスト サイズを測定するにはどうすればよいでしょうか?)。
誰か私にいくつかのアイデアを投げてもらえますか? 必要に応じて、すべてのデータ テンプレート インスタンスを反復処理しますが、より長い文字列を見つけてそこから計算する方がよい場合があります。
wpf - WPF: すべてのコンテンツが非表示のときに ListBox グループを非表示にする
私はいくつかのリストボックスの情報を持つアプリケーションに取り組んでいます.これらはかなり多くの情報を保持できる可能性があります.
ListBox コントロールで得られるグループ化、並べ替え、およびフィルタリング機能を使用するために使用しましたが、フィルタリングが非常に遅いことがわかりました (そして、UI の応答性はアプリにとって重要です)。
したがって、私が今いる場所は、上記の方法のいずれかを使用する代わりに、次のようなものを使用して ListBoxItem の可視性を変更してフィルタリングしています。
これは、ListBox に 500 を超える項目がある場合でも非常に迅速に機能します。非表示にしたい個々のアイテムが非表示になっているにもかかわらず、すべてのグループヘッダーが表示されたままになり、それらを非表示にする方法が表示されないという問題があります。
グループを非表示にするための助け(または同じことを達成するためのより良い方法)は大歓迎です。
ありがとう
c# - Silverlightを使用してリストボックス内の複数の選択されたアイテムのインデックスを取得する
Silverlight3.0のMultipleSelectionModeのグリッドアイテムで構成されるリストボックスがあります。
ListBox.SelectedIndexを使用すると、選択された最初のアイテムのみが返されます。
選択したすべてのアイテムを表示して、次のような選択したすべてのアイテムインデックスを返すようにしたいと思います。2、5、7など。
何か助けはありますか?
乾杯、
タートルパワー。
javascript - クライアント側から ASP.NET の 1 つの ListBox コントロールから別の ListBox コントロールに項目を追加/削除する
クライアント側から、ある ASP.NET ListBox コントロールから別の ListBox コントロールにアイテムを移動しています。クライアント側では機能しますが、サーバー側で目的の ListBox のアイテムを数えようとすると、常に何もありません。以下は、ListBox コントロールから項目を追加/削除するために使用される jQuery コードです。
サーバー側から ListBox にアイテムを追加/削除できることを知っています。しかし、私はそれをクライアント側からやりたいと思っています。
項目がクライアント側から既に追加されているにもかかわらず、コード ビハインドから項目をカウントするときに宛先 ListBox に何もないのはなぜですか。
wpf - リストボックスの項目が理由もなく高くなりすぎますか?
こんにちはスクリーンショットはそれを説明しています:
なぜアイテムがこんなに高くなるのですか?私は自分自身をポジショニングしません:
ItemTemplateもありません。デフォルトのToString()
動作に依存しています。