表示ComboBox值很脏

时间:2011-09-07 17:12:41

标签: wpf combobox

我正在寻找一种很好的方法来表明ComboBox的值很脏。使用TextBoxes我将背景设置为黄色,但由于3d-ness,使用ComboBox看起来有点滑稽。关于如何显示ComboBox值的任何想法都是脏的,同时保持外观干净漂亮?

3 个答案:

答案 0 :(得分:0)

标记为脏的东西的通用方法是使用星号,但根据组合框的上下文,这可能会被误解为“必需”。

答案 1 :(得分:0)

红色边框,错误图像装配器与错误说明工具提示相结合是WPF中使用的标准。但话说你可以实现许多奢侈的效果。

答案 2 :(得分:0)

我最终将ComboBox包装在边框中,并在值为脏时设置厚度和颜色。这样就可以保留ComboBox的3D外观。

<Border Margin="5" HorizontalAlignment="Left" VerticalAlignment="Center" >
    <Border.Resources>
        <Style TargetType="{x:Type Border}">
            <Style.Triggers>
                <DataTrigger Binding="{Binding RankIsDirty}" Value="True">
                    <Setter Property="BorderBrush" Value="Yellow"/>
                    <Setter Property="BorderThickness" Value="2" />
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </Border.Resources>
    <ComboBox Name="DimensionsComboBox"    
        HorizontalAlignment="Left" Margin="2"
        ItemsSource="{Binding Source={StaticResource ResourceKey=Dimensions}}" 
        SelectedIndex="{Binding Rank}"  
    </ComboBox>
</Border>

我的问题还有很好的建议:https://ux.stackexchange.com/questions/11007/how-to-indicate-combobox-value-is-dirty