我有一个24小时填写的下拉列表。 在12:00之后我想插入一行来区分两个时间片。 我该怎么办?
由于
答案 0 :(得分:0)
如果您正在对这些值进行硬编码,那么这样的事情就可以解决问题:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<ComboBox HorizontalAlignment="Center" Margin="10">
<!-- ... -->
<ComboBoxItem Content="10:00"/>
<ComboBoxItem Content="11:00"/>
<ComboBoxItem>
<ComboBoxItem.Content>
<Border BorderBrush="Black" BorderThickness="0,0,0,1">
<TextBlock Text="12:00" Margin="0,0,0,1"/>
</Border>
</ComboBoxItem.Content>
</ComboBoxItem>
<ComboBoxItem Content="13:00"/>
<!-- ... -->
</ComboBox>
</Grid>
答案 1 :(得分:0)
我在网上发现了这个伎俩......它有效! 在我的XAML中,我已经介绍了这段代码:
<ComboBox.ItemContainerStyle>
<Style TargetType="{x:Type ComboBoxItem}"
BasedOn="{StaticResource {x:Type ComboBoxItem}}">
<Style.Triggers>
<DataTrigger Binding="{Binding}"
Value="">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ComboBoxItem}">
<Separator HorizontalAlignment="Stretch"
IsEnabled="False" />
</ControlTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</ComboBox.ItemContainerStyle>
然后在我的代码背后,我已经插入了一个不可编辑的全新空白项目。 结果是预选项目下的一行。 我的目标已达成。
我希望这可以帮助某人(将来也是我:))