powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Replace part of style
5 сообщений из 5, страница 1 из 1
Replace part of style
    #38775063
mlc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.
Существует ли возможность изменить значение 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
Replace part of style
    #38775962
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Replace part of style
    #38775965
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"создадите и зададите" это эпик фейспалм конечно, сори :)
...
Рейтинг: 0 / 0
Replace part of style
    #38776119
Фотография @k@DElpher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А может ему проще локально подменить ресурс кисти 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
Replace part of style
    #38776399
mlc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes,

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

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


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