Полужирная часть опции в выпадающем списке

Можно использовать IValueConverter для этого:

<TextBlock>
    <TextBlock.Resources>
        <conv:IsNullConverter x:Key="isNullConverter"/>
    </TextBlock.Resources>
    <TextBlock.Style>
        <Style>
            <Style.Triggers>
                <DataTrigger Binding="{Binding SomeField, Converter={StaticResource isNullConverter}}" Value="False">
                    <Setter Property="TextBlock.Text" Value="It's NOT NULL Baby!"/>
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </TextBlock.Style>
</TextBlock>

, Где IsNullConverter определяется в другом месте (и conv установлен сослаться на его пространство имен):

public class IsNullConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        return (value == null);
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        throw new InvalidOperationException("IsNullConverter can only be used OneWay.");
    }
}

А более общее решение состояло бы в том, чтобы реализовать IValueConverter, который проверяет на равенство с ConverterParameter, таким образом, можно проверить по чему-либо, и не просто пустому указателю.

7
задан Bryan Denny 3 August 2009 в 15:44
поделиться

2 ответа

Вы не можете этого сделать. Наиболее вероятным решением, которое вы найдете «где-то там», будет добавление окружающего диапазона с жестко запрограммированным стилем, но ни IE (7), ни Firefox (3.0.12) этого не соблюдают. Фактически, если вы посмотрите на сгенерированный исходный код в Firefox, внутренний диапазон будет полностью удален.

Что вы можете сделать, так это использовать решение JavaScript, чтобы создать видимость выбора без фактического использования select.

РЕДАКТИРОВАТЬ: И вот отличный HOWTO о том, как это сделать: http://www.devirtuoso.com/2009/08/styling-drop-down-boxes-with-jquery/

5
ответ дан 7 December 2019 в 07:49
поделиться

Невозможно или, по крайней мере, не работают кросс-браузеры. Если вам это действительно нужно, вы можете создать собственное раскрывающееся меню, но я бы не рекомендовал его.

2
ответ дан 7 December 2019 в 07:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: