WPF-コンテナのないDataTemplate、グリッドの行としてのアイテム?
質問
ItemsControl.ItemTemplate
で機能するGrid
と同等のメカニズムはありますか?アイテムのコレクションがあり、それらをGrid.Column
の行として提示して、テンプレート内の個々の要素(リストコントロールの行ではなく)に<=>を割り当てることができるようにします。これは、WPFで標準コントロールを使用して可能ですか?
解決
OK、Grid.IsSharedSizeScope="true"
添付プロパティが適用されたItemsControlを使用します。次に、ItemTemplateに対して、<Grid>
属性を各列に固有の名前に設定するColumnDefinition
を追加する場合を除いて、通常と同じようにSharedSizeGroup
を使用します。例えば:
<ItemsControl Grid.IsSharedSizeScope="true">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition SharedSizeGroup="MyFirstColumn" />
<ColumnDefinition SharedSizeGroup="MySecondColumn" />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="{Binding MyFirstProperty}"/ >
<TextBlock Grid.Column="1" Text="{Binding MySecondProperty}"/ >
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
IsSharedSizeScopeおよびSharedSizeGroupの詳細については、チェックSDKのこのセクションをご覧ください。 RowDefinitionsにもSharedSizeGroupがあるため、水平レイアウトも実行できることに注意してください。
他のヒント
おそらくあなたの問題を誤解したかもしれませんが、 GridView は?
所属していません StackOverflow