人の名前を表示するために HeaderedItemsControl を使用しています。また、タイトル、名、姓の 3 つのラベルを含むヘッダーも表示したいと考えています。名前が短い場合、これは簡単です。ただし、ファーストネームが非常に長い場合、ヘッダーが名前と一致しなくなります。どうすればこれを修正できますか? ありがとうございました!
2497 次
1 に答える
7
このクラスを本当に使用するかどうかわからない:
HeaderedItemsControl には、制限付きの既定のスタイルがあります。カスタムの外観を持つ HeaderedItemsControl を作成するには、新しい ControlTemplate を作成します。
とにかく、共有サイズでグリッドを使用できるものを並べるには、次のようにします。
<HeaderedItemsControl ItemsSource="{Binding Data}" Grid.IsSharedSizeScope="True">
<HeaderedItemsControl.Template>
<ControlTemplate TargetType="HeaderedItemsControl">
<StackPanel>
<ContentPresenter ContentSource="Header" />
<ItemsPresenter />
</StackPanel>
</ControlTemplate>
</HeaderedItemsControl.Template>
<HeaderedItemsControl.Header>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition SharedSizeGroup="A" />
<ColumnDefinition SharedSizeGroup="B" />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="Name" />
<TextBlock Grid.Column="1" Text="Occupation" />
</Grid>
</HeaderedItemsControl.Header>
<HeaderedItemsControl.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition SharedSizeGroup="A" />
<ColumnDefinition SharedSizeGroup="B" />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="{Binding Name}"/>
<TextBlock Grid.Column="1" Text="{Binding Occupation}" />
</Grid>
</DataTemplate>
</HeaderedItemsControl.ItemTemplate>
</HeaderedItemsControl>
于 2011-05-26T08:04:05.863 に答える