タイトルのように:動的なUniformGridの特定の列をサイズ変更できるエレガントな方法がありますか?ダイナミックWPF UniformGridの特定の列をサイズ変更可能にするためのエレガントな方法
詳細:
私はItemsControlにを持っているタイプUniformGridであることがItemsPanelTemplateを設定します。 ItemTemplateは、列の内容をレンダリングするカスタムコントロールに設定されています。ここで
はXAMLの抜粋です。
今<ItemsControl x:Name="PART_Dimensions"
Grid.Column="1" HorizontalAlignment="Stretch">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="{Binding
Path=ItemsSource.Count,
RelativeSource={RelativeSource FindAncestor,
AncestorType={x:Type ItemsControl}}}"
IsItemsHost="True"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<local:Dimension
PropertyA="{Binding SourceA}"
ItemsSource="{Binding SourceB}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
、私は何を達成しようとしていることは、特定の列がまだ可能にしながら、それらに静的な幅を与えて、サイズ変更可能であることを、それを可能にすることです他の列は幅が均一に整えられます。
私に指導する方向性がありますか?私はUniformGridのレンダリングのあまり具体的なカスタム実装を避けることを望んでいましたが、これをスマートで簡単に行う方法はありますか?よろしく オレ
ありがとうdecyclone。私は最初にStackPanelを試しましたが、 "columns"の内容をできるだけ大きな幅にサイジングするのに問題がありました。最初はGridが良い選択のように思えますが、ItemsControlで可能なテンプレート化を行うことは可能ですか? –
もちろん可能です。この記事(http://www.scottlogic.co.uk/blog/colin/2010/11/using-a-grid-as-the-panel-for-an-itemscontrol/)では、その方法を説明しています。 – decyclone
あなたは私の一日を救ったようです。どうもありがとう。私はそれを試みます。 –