答案 0 :(得分:0)
您没有显示用于设置ComboBox的XAML,但是最好的方法是使用数据模板设置ComboBox项,但是希望它们看起来像。如果希望在“颜色”画笔为空的情况下不显示颜色框,则可以向模板添加触发器以使其变为“隐藏”。请注意,如果将其折叠起来,它将重新对齐其他控件的布局。
<DataTemplate x:Key="cbDataTemplate">
<StackPanel Orientation="Horizontal">
<Rectangle x:Name="clrBox" Fill="{Binding Color, TargetNullValue=Transparent}"
Stroke="Black" StrokeThickness="2" Width="16"/>
<TextBlock Text="{Binding Name}" Margin="10,0,0,0"/>
</StackPanel>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding Color}" Value="{x:Null}">
<Setter TargetName="clrBox" Property="Visibility" Value="Hidden"/>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
然后使用此DataTemplate只需将其添加到ComboBox中,如下所示:
<ComboBox ItemTemplate="{StaticResource cbDataTemplate}" Width="150"/>
希望有帮助...