問題タブ [headereditemscontrol]
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 - 静的ヘッダーを持つ ItemsControl
私はかなり単純な目標を持っていると思いますが、それに到達することはできません。
私が達成したいのは、ヘッダー付きの ItemsControl (リストの選択機能が必要ないため) を持つことだけです。できれば静的ヘッダー。
現在、ヘッダーにグリッドを使用し、そのグリッドを ItemsControl の ItemTemplate (DataTemple) にコピーしてから、それらをグリッド内で上下に配置しています。それはちょっと機能しますが、常にうまく並ぶとは限りません。
次に、素晴らしいアイデアだと思った HeaderedItemsControl を見つけましたが、機能させることができません。ヘッダーがまったく表示されません。私は次のことを試しました。
- Xamlの「ヘッダー」にテキストを入力するだけです
- ItemsControl.Header タグ内に静的テキストを含む TextBlocks を含むグリッドを配置する
- HeaderTemplate (Datatemplate) 内にグリッドを配置し、単純なオブジェクトにバインドする
小さなプロジェクトでこれをすべて Blend で行ってから、実稼働アプリに移行します。作成した単純なサンプル データ ソースを使用しているだけです。
ここでボートを完全に見逃しているかもしれませんが、助けていただければ幸いです。
私の現在のコードは次のとおりです。最初は私の HeaderedItemsControl です
次に、期待どおりに機能する ItemTemple を取得しました
そして、その労働倫理に反抗的に反対しているヘッダー、私はバインディングと TextBlock.Text プロパティのプレーンテキストだけで試しました
wpf - コードでのコンテキスト メニューの作成
関連する 3 つの異なる DataGrids を xaml からコードにリファクタリングし、コンテキスト メニューのヘッダー テキストを更新する際に問題が発生しました。
コマンドとテキストは、どのデータ グリッド セルが現在のセルであるかに従って更新する必要があります。ヘッダー テキストは xaml で正常に更新されましたが、下の図からわかるように、空の文字列として表示されるようになりました。コマンド自体は正しく機能し、正しいグリッド セルで機能します。
ヘッダー テキストの setter fires プロパティが変更されましたが、コードが xaml の同等の方法でバインディングを複製していないと思われます。また、共有属性がコードで説明する必要があるものかどうかもわかりません。
私が使用しているコードを改善する方法を知っている人はいますか?
乾杯、
ベリル
バインディングを確立するための XAML スタイル
コード
アップデート
空の文字列部分は私の愚かさでした。ヘッダー テキストを初期化していませんでした。下の写真は私が今得たもので、改善されています。テキストが更新されて、曜日が表示されます。つまり、"Make Monday a full day" です。
エルノの編集
以下のようにグリッド自体の列とスタイルを設定しているので、コンテキストメニューのリソースを取得して設定するだけでよいと思いました。
ただし、写真からわかるように、奇妙な結果が得られます-コンテキストメニューがグリッド全体をカバーしているようです!
最新のアップデート
この SO 投稿ごとにバインドを相対的にしようとしましたが、サイコロはありませんでした。コマンドが更新されました。つまり、正しいセルで実行されましたが、どのセルであるかをテキストに反映させることができませんでした。最終的に、以下のようにオンザフライでコンテキスト メニューを作成することにしました。私はもっとうまくやれるはずだったようですが、うまくいきます。
エルノに答えを出して締めくくります。
wpf - WPF HeaderedItemsControl のヘッダーの自動サイズ変更
人の名前を表示するために HeaderedItemsControl を使用しています。また、タイトル、名、姓の 3 つのラベルを含むヘッダーも表示したいと考えています。名前が短い場合、これは簡単です。ただし、ファーストネームが非常に長い場合、ヘッダーが名前と一致しなくなります。どうすればこれを修正できますか? ありがとうございました!
c# - HeaderedItemsControl のヘッダーを表示するには?
次のコードがあります。
何らかの理由でItems
レンダリングされますが、ヘッダーはありません。
wpf - HeaderedItemsControlでさまざまなUserControls(ResourceDictionaryで宣言されている)を使用するにはどうすればよいですか?
HeaderedItemsControl
アプリケーションで異なる表示をするユーザーがUserControl
います。今、私はこれらUserControl
をDataTemplate
私ので次のように宣言しましたMainWindow
。
DataTemplate
しかし、私はほぼ20のビューを持っており、すべてをに配置したいと思いResourceDictionary
ます。誰かが私を助けてくれますか?リソースDataTemplate
からこれらResourceDictionary
をどのように使用できますか?HeaderedItemsControl
wpf - HeaderedItemsControl 内の項目への参照を取得する
XAML:
この XAML を考えると、ViewModel の DeleteFoo コマンドとメソッドで、FooCollection でクリックされたアイテムへの参照を取得するにはどうすればよいですか? 通常、DataGrid などでは、ViewModel にバインドされた SelectedItem になりますが、厄介なことに、HeaderedItemsControl にはこのオプションがありません。
たとえば CommandArguments を介して、アイテムへの参照、または FooCollection のインデックス位置を渡す別の方法はありますか?
ListView は、selectedItem に相当する同様のコントロールであることは理解していますが、適切にフォーマットされた HeaderedItemsControl (タイトル ヘッダー付き) がセットアップされているので、可能であればそれを捨てる必要はありません。
助けてくれてありがとう。
wpf - itemscontrol 内のヘッダー
食品の種類を含むテーブルがあります。各食品の種類は、1 人あたり 12 列です。
私がする必要があるのは、人を選択した後、項目コントロールが各食品タイプの 12 行を表示することです。
ここまではうまくいきましたが、私が望むのは、12 行ごとに食品の種類を示す見出しを、各行で繰り返さずに表示することです。
これを達成する方法を知っている人はいますか?
これまでの私の唯一の方法は、headereditemscontrol を itemscontrol 内に配置することです。これは、このような単純な問題に対する非常に複雑な方法のようです。
よろしくお願いします。