質問

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 は?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top