Модификация поля стиля из кода .cs - PullRequest
0 голосов
/ 16 декабря 2011

У меня есть стиль, описанный в Grid.resources. Как я могу изменить высоту и ширину (в моем примере это 20 и 20) эллипса от большого пальца? Другие свойства доступны из других частей кода, но не из этого ((

<Style x:Key="CustomThumbForSlider" TargetType="{x:Type Thumb}">
    <Setter Property="OverridesDefaultStyle" Value="True"/>
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type Thumb}">
                <Ellipse Fill="Transparent" Stroke="#FF000000" StrokeThickness="3" Height="20" Width="20"/>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

Ответы [ 2 ]

1 голос
/ 16 декабря 2011

Вы не изменяете шаблоны, если вы используете TemplateBinding, чтобы сделать свойства настраиваемыми для элемента управления, который шаблонируется. (Также вы не изменяете стиль)

(Если вам нужно сохранить значения по умолчанию, вы можете использовать Setter для установки свойств, ограниченных с помощью TemplateBinding)

0 голосов
/ 16 декабря 2011

Вы можете получить доступ к Style из кода ниже, используя метод FindResource(...) для FrameworkElement, который содержит Style.Если вы преобразуете результат метода в Style, вы можете получить к нему доступ Setters.

. Альтернативно, измените свойства Width и Height для чтения из Resource или Bindingи затем измените это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...