【发布时间】:2011-09-19 19:13:31
【问题描述】:
我想要一个组合框来显示具有多个属性的项目,每个项目显示一个属性的列标题。这是我目前正在使用的控制模板。向这些添加列标题的最佳方法是什么?
我的组合框设置为 ItemsSource="{Binding Meters}"
<ControlTemplate TargetType="ComboBoxItem">
<Grid HorizontalAlignment="Stretch" TextElement.FontWeight="Normal">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="85" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" SharedSizeGroup="Status" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" SharedSizeGroup="ExpectMfactor" />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="{Binding Path=MtrNo}" />
<Rectangle Grid.Column="1" Width="1" Fill="Black" />
<TextBlock Grid.Column="2" Text="{Binding Path=Status}" Margin="5,0,5,0" />
<Rectangle Grid.Column="3" Width="1" Fill="Black" />
<TextBlock Grid.Column="4" Text="{Binding Path=ExpectMfactor}" Margin="5,0,5,0" />
</Grid>
</ControlTemplate>
【问题讨论】:
-
假设您希望列标题在整个项目列表上方出现一次,您不能仅通过重新模板化项目本身来做到这一点。有关多种方法,请参阅右侧栏中的相关问题。