Как к TemplateBind к BorderThickness. Вершина (или нижняя часть или левый или правый)?

'V' из HSV, вероятно, что Вы ищете. MATLAB имеет функцию rgb2hsv, и ранее процитированная статья Википедии полна псевдокода. Если бы преобразование RGB2HSV не выполнимо, менее точная модель была бы полутоновой версией изображения.

9
задан mg007 8 September 2009 в 08:43
поделиться

1 ответ

Это невозможно, потому что толщина является типом значения - вы можете создавать привязки только к свойствам зависимостей объектов зависимостей.

Что вы можете сделать, так это привязать BorderThickness как обычно:

<Border Margin="0" 
        Padding="{TemplateBinding Padding}" 
        BorderBrush="{TemplateBinding BorderBrush}"
        BorderThickness="{TemplateBinding BorderThickness, Converter={StaticResource ThicknessConverter}}" />

затем использовать конвертер для возврата соответствующим образом измененной толщины:

object Convert( object value, Type targetType, object parameter, System.Globalization.CultureInfo culture )
{
    var thickness = (Thickness) value;
    return new Thickness( 0.0, thickness.Top, 0.0, thickness.Bottom );
}

Вы даже можете использовать ConverterParameter, чтобы указать, какие части толщины нужно очистить.

15
ответ дан 4 December 2019 в 13:03
поделиться
Другие вопросы по тегам:

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