問題タブ [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.

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

wpf - WPF: リストボックス アイテムのラベルを更新する

ListBoxユーザーが設定した整数プロパティに基づいてアイテムの数が追加される場所があります。アイテムはControlTemplate、Label と のTextBox内部で構成されるリソースから作成されDockPanelます。ラベルはデータにバインドされていませんが、ラベルが含まれているの (インデックス + 1) に基づいて、ある程度動的なコンテンツを持たせたいと考えていListboxItemます。私の質問/問題は、各のラベルの内容を更新できるようにしたいのですがListboxItem、何らかの理由でラベルにアクセスできないことです。ラベルはテンプレートにあり、ListboxItem. これらの混乱のいくつかを解決して、私を正しい軌道に戻すのを手伝ってくれる人はいますか?

xaml のコンテンツをバインドしたり、コード ビハインドLabelのコンテンツを更新したりしたいと考えています。Labelどのルートが最適かはわかりません。

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

wpf - ListBoxItem をある ListBox から別の ListBox にアニメーション化する

リストボックス内のアイテムがダブルクリックされたときに視覚効果を作成したいと考えています。これまでのところ、アイテムがマウスに視覚的に接続され、ドロップターゲットに移動できるドラッグアンドドロップ機能があります。その機能から、アイテム コンテナーを取得するのと同じロジックを使用してアイテムをアニメーション化できますが、アイテム コントロールを離れることができません。ListBox からアイテムを削除し、別の場所に視覚的にアニメーション化する方法はありますか? 基本的に、メイン リスト ボックスはカードの手札です。カードがダブルクリックされたときに、手札のリストボックスから捨て札のリストボックスに視覚的に移動したい。現時点では、あるコレクションから別のコレクションにアイテムを移動するロジックは問題ありませんが、このイベントのアニメーションによる視覚的表現が本当に必要です。このようなことを行う方法についてのアイデアや参考文献をいただければ幸いです。

ありがとう、ブランドン

私が試みたことの詳細: 私がまだしっかりと把握していない概念がいくつかあります。ListBox を ItemsControl、リストボックス アイテムである FrameworkElement、および ListBox アイテムに関連付けられたデータ オブジェクトとして渡すメソッドがあります (一部は不要な場合があります)。私がやろうとしたのは、キャンバスであるListBoxItemのFindVisualChildでした。私はそれを行うことができます。私の考えでは、キャンバスをキャンバスまたはビットマップとして何らかの方法で複製し、同じ場所にあるページの子の子に追加し、ListBoxItem を ListBox から削除し、クローンを破棄にアニメーション化したいと考えていました。パイル。アニメーションが完了すると、クローンは削除または非表示になり、そのオブジェクトが廃棄物の山コレクションに追加されると、クローンを効果的に置き換えることができます。

これに関する私の問題は、装飾レイヤーなどを使用してこれを行う簡単な方法があるように感じることです。また、ビジュアル ツリーのさらに上の要素のまったく同じ位置にクローンを配置する方法もわかりません。私はそれに取り組み、他のアプローチを研究し続けるつもりです。誰かがこれについての洞察を共有してくれることを願っています.

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

wpf - WPFでListBoxItemに下線を付けるにはどうすればよいですか?

WPFでListBoxItemに下線を付けるにはどうすればよいですか?以下を使用していますが、下線が表示されません。

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

c# - 選択したリストボックス項目の前景色の Wpf スタイル リソース

背景: 各リストボックス項目にラジオ ボタンがあるカスタム リストボックスを作成しているので、基本的には RadioButtonList になります。コントロールは完全にコードで作成されます。現時点では、コントロールは正しくレンダリングおよび動作し、2 つの方向 (水平/垂直) をサポートしています。リストボックスは、RadioButton と TextBlock を持つ StackPanel である ItemTemplate を使用します。

これまでのところ、背景を透明に設定するスタイルを使用して、アイテムが選択されたときにアイテムの背景色が変化するのを防ぐことができました。

前景色についても同じことをしたいと思います。

基本的にListBoxのSelectionモードはシングルで、項目が選択されたらRadioButtonに反映させたいだけです。

次のコードを使用して ItemContainerStyle を設定しています。

私のテンプレートの TextBlock は、次のように System.Windows.FactoryFrameworkElement を使用して作成されます。

次に、FactoryTextBox が FactoryStackPanel に追加され、ListBox の ItemTemplate として設定されます。

現時点では、アイテムを選択したときに背景色を透明に設定しています。テキストはデフォルトで白に設定されるため、項目を選択すると視覚的に消えます。テキストブロックが選択されたときに、テキストブロックの前景に色を設定する方法を探しています。今のところ黒でもかまいませんが、最終的にはより高いレベルでフォントの色を参照するようになります。

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

.net - WPF - DataTrigger と Trigger を組み合わせるには?

関連する質問をしました: DataTrigger と EventTrigger を組み合わせる方法は?

複数の項目を含むリスト ボックスがあります。アイテムのクラスは を実装INotifyPropertyChangedし、プロパティを持っていますIsAvailable。このプロパティを使用して、リスト内の使用できないオプションを別の色で示します。

ただし、選択したアイテムが使用できない場合は、前景色を赤にする必要があります。

上記のデータ トリガーを使用して、利用できないアイテムをグレー表示します。

私が直面している問題は、アイテムが選択されているという事実が、テンプレートがバインドされている基になるデータとは何の関係もないということです。Trigger私が本当に欲しいのは、依存関係プロパティ ( ListBoxItem.IsSelected) とDataTriggerバインドされたデータ項目の両方をサポートするある種のマルチトリガーです。

ビューモデルに選択の概念を導入せずにこれを行うことはできますか?

利用できない項目を無効にしない理由を知りたい人は、利用できないオプションを選択できることがアプリケーションの要件であることを理解してください。実際にはいくつかのリスト ボックスがあり、1 つのリスト ボックスを選択すると、他のリスト ボックスの内容が影響を受けます。以前の選択に基づいてアイテムが無効にされた場合、ユーザーは考えを変えたり、さまざまな組み合わせを検討したりできないため、アイテムを無効にすることはできません。

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

wpf - ListBox 項目テンプレートを反復処理する方法はありますか?

単一のテキスト ボックスで表される項目を含むリスト ボックスがあります。

ユーザーがボタンをクリックすると、これらすべてのテキスト ボックスを繰り返し処理し、バインディング式にエラーがないかどうかを確認します。次のようになります。

どんな議論でも本当に感謝します。ありがとう。

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

wpf - DataTemplates を使用した WPF ListBoxItems - DataTemplate 内から ListBoxItem にバインドされた CLR オブジェクトを参照するにはどうすればよいですか?

にバインドされた ListBox がありObservableCollectionます。

それぞれListBoxItemに が付いて表示されますDataTemplate。にボタンがあり、クリックすると、DataTemplate の一部であるのDataTemplateメンバーへの参照が必要になります。ボタンをクリックしてもアイテムが選択されないためObservableCollection、プロパティを使用できません。ListBox.SelectedItem

ListBox.SelectedItemしたがって、マウスがホバーしたとき、またはボタンがクリックされたときに適切に設定する方法を理解する必要があります。ListBoxItemまたは、ボタンが属する にバインドされた CLR オブジェクトへの参照を取得する別の方法を見つける必要があります。2 番目のオプションの方がすっきりしているように見えますが、おそらくどちらの方法でも問題ありません。

以下の簡略化されたコード セグメント:

XAML:

C#: