Гость
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Replace part of style / 5 сообщений из 5, страница 1 из 1
13.10.2014, 13:28
    #38775063
mlc
mlc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Replace part of style
Добрый день.
Существует ли возможность изменить значение Fill стиля кнопки?
Есть стиль:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
       <Style x:Key="MCBStyle"
           TargetType="{x:Type Button}">
                ....
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="{x:Type Button}">
                            <Grid>
                                ...
                                <Ellipse x:Name="ellipsebg"
                                Fill="{DynamicResource BlackBrush}"
                                 Opacity="0"
                                 Margin="4"
                                 StrokeThickness="0" />


необходимо Fill присвоить определенный цвет. Можно ли это как-нибудь сделать?
...
Рейтинг: 0 / 0
14.10.2014, 11:24
    #38775962
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Replace part of style
mlc,

не очень понятно, чего вы на самом деле хотите,
самый просто способ это задать цвет заливки цвета на основе свойства кнопки Background
тогда это будет выглядеть так:
Код: c#
1.
2.
3.
4.
5.
<Ellipse x:Name="ellipsebg"
                                 Fill="{TemplateBinding Background}"
                                 Opacity="0"
                                 Margin="4"
                                 StrokeThickness="0" />


теперь если вы создадите кнопки и зададите свойство Background "Зеленый", то Ellipse будет на кнопке зеленого цвета.
...
Рейтинг: 0 / 0
14.10.2014, 11:26
    #38775965
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Replace part of style
"создадите и зададите" это эпик фейспалм конечно, сори :)
...
Рейтинг: 0 / 0
14.10.2014, 12:47
    #38776119
@k@DElpher
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Replace part of style
А может ему проще локально подменить ресурс кисти BlackBrush
Код: xml
1.
 Fill="{DynamicResource BlackBrush}"



Код: xml
1.
2.
3.
4.
5.
6.
               ...
               <ControlTemplate TargetType="{x:Type Button}">
                    <ControlTemplate.Resources>
                        <SolidColorBrush Color="Cyan" x:Key="BlackBrush"/>
                    </ControlTemplate.Resources>
                 ...



А лучше прям в Ellipse, тогда другие цвета в контроле не испортите.
Или подменять его во время использования кнопки

Код: xml
1.
2.
3.
4.
5.
<Button Content="Button">
            <Button.Resources>
                <SolidColorBrush x:Key="BlackBrush" Color="Aquamarine"/>
            </Button.Resources>
        </Button>



Вариант Roman Mejtes лучше, тем, что каждой кнопке можно свой цвет присвоить. Хуже он тем, что Background у стандартной кнопки один, а может понадобиться несколько наборов цветов.

ps сколько костылей на один кейс)
...
Рейтинг: 0 / 0
14.10.2014, 16:30
    #38776399
mlc
mlc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Replace part of style
Roman Mejtes,

Вся проблема в том, что исходник трогать не могу. Но спасибо, за совет. А вот совет @k@DElpher с подменой ресурса мне подходит. Пусть не совсем гибкий, однако это то, что мне нужно.

Roman Mejtes, @k@DElpher Спасибо.
...
Рейтинг: 0 / 0
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Replace part of style / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]