問題タブ [itemspaneltemplate]

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

wpf - MainWindow のコンストラクター中に ItemsControl に子がありません

SOの質問「 WPF:コレクションアイテムをグリッドに配置する」への回答に基づいて、次のようになります。

ここで、コード ビハインドで theGrid の行数と列数を設定します。

もちろん、これにはグリッドを見つける必要があります。SO question WPFの方法でCrimsonXのFindChildを使用して、最初にitemsControl1を見つけ、次にそれを親として使用してtheGridを見つけました。

これは、ボタンのクリック イベント ハンドラーから呼び出されたときに機能します。ただし、ic の childrenCount が 0 であるため、MainWindow のコンストラクターから呼び出すと失敗します。

では、ウィンドウがユーザーに表示される前に、グリッドの行と列のコレクションを設定するにはどうすればよいでしょうか?

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

wpf - ItemsPanel のグリッド RowDefinitionCollection の変更

これは、MainWindow のコンストラクター中に ItemsControl に子がないことのフォローアップです。

SOの質問「WPF:コレクションアイテムをグリッドに配置する」への回答に基づいて、私は次のことを持っています:

ここで、コード ビハインドで theGrid の行数と列数を設定したいと思います。theGrid.ColumnDefinitions.Clear();

そこでのMattHamiltonの回答によると、アイテム コントロール 1 で一度グリッドを使用できますItemContainerGenerator.StatusChanged は、GeneratorStatus.ContainersGenerated のステータスで発生します。

ただし、イベント ハンドラーからグリッドを変更しようとすると、「読み取り専用状態で 'RowDefinitionCollection' を変更できません」という例外が発生します。

では、ウィンドウがユーザーに表示される前に、グリッドの行と列のコレクションを設定するにはどうすればよいでしょうか?

edit : itemsControl1.ItemContainerGenerator.StatusChanged イベント ハンドラーからグリッドのプロパティを変更しています。

SetGridRowsAndColumns(numberOfRows, numberOfCols) は、後でボタンのクリックに応答して機能することに注意してください。

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

wpf - 要素はItemsPanelTemplateでは表示されません

ItemsPanelTemplateの概念を理解しようとしています。このために、私は小さなサンプルソリューションを構築しました。

次のコードを持つUserControl「MyListView」があります。

MyListView.xaml:

MyListView.csに、表示されるデータをバインドするためのDependencyPropertyを追加しました。

メインウィンドウでこのUserControlを使用しようとすると、表示されるデータがありません。その理由は何ですか?

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

binding - ItemsTemplate データテンプレートと ItemsPanelTemplate プロパティをバインドします

ItemsControlUserControl としてテンプレート化された項目があります。MyItemsControl.Items Panelは としてテンプレート化されていCanvasます。


今のところ、これらのユーザーコントロールの幅と高さのプロパティを手動で設定すると、次のようになります。



私が欲しいのは、ユーザーコントロールの幅と高さのプロパティをキャンバスのプロパティにバインドすることです。それは可能ですか?

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

c# - Windows phone での親からの ItemsPanelTemplate 内でのバインド

ItemsPanelTemplate 内にある StackPanel の方向を変更したい...方向を変更するには、1 つのプロパティを実装しました..StackPanel の方向を変更する方法はありますか。次のコードを試しました..しかし、成功しません。

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

wpf - Wpf ItemsControl.ItemsPanelTemplate をグリッドとして、異なる列に新しい項目を追加します

私は、ItemsControl に追加された新しい項目をそれぞれの新しい列に含む、動的に作成されたグリッドに取り組んでいます。

Rachel Lim のGridHelperを使用しています

今のところ、次のようなメインウィンドウがあります。

Xaml コード:


および Xaml.cs

この MainWindow には、DataContext として ViewModel があります。

ボタンをクリックすると、コマンドが正常に動作するため、新しい itemscontrol アイテムと、ItemsPanelTemplate が新しい ColumnDefinition で更新されているグリッドがありますが、アイテムは右側の列にありません。

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

wpf - ListBoxのItemsPanelTemplateのレイアウトをカスタマイズするにはどうすればよいですか?

に複数の列を指定したいのですListBoxが、グーグルのスキルで失敗しました。

ItemsPanelTemplateのを変更して、ListBox表示される列をカスタマイズするにはどうすればよいですか?

編集:私がすでに試したものを置くのを忘れた

私はコードを試しました

垂直スクロールバーを失う以外は機能します

0 投票する
0 に答える
1102 参照

silverlight - ドロップダウンボタンの幅でコンボボックスのドロップダウンメニューの幅を動的に変更する方法は?

私のコンボボックスは、ウィンドウ幅全体に水平方向に拡大する必要があります。これは、コンボボックスのドロップダウン ボタンとドロップダウン メニューも説明します。そのため、コンボボックスの幅を「自動」に設定し、ItemsPanelTemplate の幅をコンボボックスの幅にバインドします。アイテムにはテキスト トリミング データ テンプレートも使用します。

アプリケーションを起動すると、ドロップダウン メニューの幅がコンボ ボックスのボタンの幅に対応し、テキストのトリミングも機能します。実行時にウィンドウのサイズを変更すると、次の動作が発生します。

  1. ウィンドウのサイズを大きく変更 -> ドロップダウン ボタンとドロップダウン メニューのサイズを正しく変更 (ウィンドウの幅全体に完全に引き伸ばされたまま)
  2. ウィンドウのサイズを小さく変更 -> ドロップ ダウン ボタンは正しくサイズ変更されますが、ドロップ ダウン メニューは最初のサイズよりも小さくサイズ変更されません。そのため、ウィンドウを非常に小さくドラッグすると、ドロップダウン メニューが切り取られます。

実行時にドロップダウンメニューボタンに応じてドロップダウンメニューの幅を変更するにはどうすればよいですか?

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

wpf - ComboBoxのItemsPanelの上に追加のコントロールを追加する

ドロップダウンが展開されたときに上に表示ComboBoxされる検索ボックスを使用して、検索可能にしたい。検索機能を実現するにはカスタムコントロールを作成する必要があると思いますが、最初は通常のを使用してを表示させようとしています。ドロップダウンを展開しようとすると例外が発生する現在の試みは次のとおりです。TextBoxItemsPanelComboBoxTextBoxComboBox

これが生成している例外は次のとおりです。

ItemsControlのItemsPanelとして使用されるPanelのChildrenコレクションを明示的に変更することはできません。ItemsControlは、Panelの子要素を生成します。

これを自分のやりたいことにする方法があると確信していますが、数時間のグーグルと試行錯誤の末、頭が回転しています。どんな助けでも大歓迎です!

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

gridview - グループ化されたアイテム (GridView グループ) を次の形式で表示する方法: 1 つの大きな画像と残りは小さい (例を添付)

GridView 内のすべてのグループがこの特定の構造/テンプレート (1 つの大きな項目と残りは同じサイズ) になるようにします。 ここに画像の説明を入力

ボタンのスペースがなくなるまで、アイテムが画面いっぱいに表示されます。右から左に入力する必要があります (アイテムの 1 つの列が入力されると、次の列が入力されます)。私のビュー モデルはグループ化されたコレクションを公開します。GridView がすべての「小さな」アイテムを取得し、大きなアイテムが GridView の「天井」であるかのように配置する必要があります。

VariableSizedWrapGrid と関係があると思います。

これが私の現在のコードです(現在、すべてのアイテムは同じサイズで、フローは右から左です):