Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / скруглить углы у кнопки WPF / 15 сообщений из 15, страница 1 из 1
01.03.2011, 23:58
    #37143072
!Me
!Me
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
скруглить углы у кнопки WPF
Возможно скруглить углы у кнопки проcто чуть подредактировать её Default ControlTemplate, а не описывая свой собственный новый стиль или ControlTemplate и каким образом это делается?

Пытался сделать что-то вроде такого в дефолтном теплейте кнопки, но эффекта ноль(

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
<Style x:Key="ButtonFocusVisual">
    		<Setter Property="Control.Template">
    			<Setter.Value>
    				<ControlTemplate>
    					<Rectangle Margin="2" RadiusX="20" RadiusY="20" SnapsToDevicePixels="true" Stroke="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" StrokeThickness="1" StrokeDashArray="1 2"/>
    				</ControlTemplate>
    			</Setter.Value>
    		</Setter>
    	</Style>
...
Рейтинг: 0 / 0
02.03.2011, 00:42
    #37143108
i see
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
скруглить углы у кнопки WPF
Можно создать кастомный стиль кнопки, нарисовать в качестве контейнера Border и скруглить углы у него.
...
Рейтинг: 0 / 0
02.03.2011, 00:42
    #37143109
i
i
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
скруглить углы у кнопки WPF
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
 <ControlTemplate >
          <Border  
                  CornerRadius="20" 
                  BorderThickness="4" 
                  Background="......"  
                  BorderBrush="......"
                  RenderTransformOrigin="0.5,0.5">
              <ContentPresenter x:Name="ButtonContentPresenter"
                                VerticalAlignment="Center"  
                                HorizontalAlignment="Center"/>
          </Border>
        </ControlTemplate>
...
Рейтинг: 0 / 0
02.03.2011, 02:28
    #37143135
!Me
!Me
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
скруглить углы у кнопки WPF
Да, но так придётся самому состояния кнопки описывать ещё, а мне они подходят те, что по дефолту!
...
Рейтинг: 0 / 0
02.03.2011, 03:05
    #37143142
LR
LR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
скруглить углы у кнопки WPF
!Me,

в таких случая берется default template

для SL: The following XAML shows the default style and template for the Button control
для WPF нашел навскидку только такое: While this example contains all of the elements that are defined in the ControlTemplate of a Button by default...

и курочится "под себя"
...
Рейтинг: 0 / 0
02.03.2011, 04:18
    #37143155
LR
LR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
скруглить углы у кнопки WPF
LRдля WPF нашел навскидку только такое
да, похоже в WPF не все так просто (как в SL)...
...
Рейтинг: 0 / 0
02.03.2011, 13:08
    #37143927
i
i
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
скруглить углы у кнопки WPF
LRLRдля WPF нашел навскидку только такое
да, похоже в WPF не все так просто (как в SL)...
Все сложно, если не пробовать изучить средство, с которым работаешь.
Basedon
...
Рейтинг: 0 / 0
02.03.2011, 13:54
    #37144053
LR
LR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
скруглить углы у кнопки WPF
iВсе сложно, если не пробовать изучить средство, с которым работаешь.
Basedon
и как с этим добраться до Template-ного Border-а чтобы "скруглить углы"?
...
Рейтинг: 0 / 0
02.03.2011, 14:03
    #37144080
i
i
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
скруглить углы у кнопки WPF
Если нет навыков, то это делается весьма просто с помощью Blend. Я уже давал здесь ссылки на обучающие материалы для него с кнопками на codeproject. Обучалок масса на эту тему
...
Рейтинг: 0 / 0
02.03.2011, 15:33
    #37144438
LR
LR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
скруглить углы у кнопки WPF
iЕсли нет навыков, то это делается весьма просто с помощью Blend.
ну а если есть навыки, то как (с помощью Basedon)?
...
Рейтинг: 0 / 0
02.03.2011, 15:53
    #37144505
!Me
!Me
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
скруглить углы у кнопки WPF
LR, спасибо большое. Твоя статья для WPF-случая подошла, углы скруглил, то что нужно! Остальным тоже спасибо!
...
Рейтинг: 0 / 0
02.03.2011, 15:54
    #37144509
Руки-крюки
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
скруглить углы у кнопки WPF
i,

Template то все рано надо переопределять.
...
Рейтинг: 0 / 0
02.03.2011, 16:14
    #37144583
!ME
!ME
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
скруглить углы у кнопки WPF
хм...но проблема теперь такая:
хочу чтобы у разных кнопок были различные радиусы скругления углов...для этого на уровне ресурсов окна создал пробных два стайла как в статье выше от юзера LR для случая WPF, дал им имена x:Name="Style1" и x:Name="Style2" , попробовал их прикрутить к кнопкам, например так: Style="{StaticResource Style1}" руками, но это ожидаемого эффекта не даёт, всё равно все кнопки получаются с тем стайлом, что был последним объявлен в ресурсах. Что не так?
...
Рейтинг: 0 / 0
02.03.2011, 22:28
    #37145424
уТКа
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
скруглить углы у кнопки WPF
!ME,

x:Name задается для ресурсов которые участвую в формировании контролов окна, в Вашем случает, когда вы указали в качестве ресурса ваши Стили, их нужно объявить в качестве x:Key
...
Рейтинг: 0 / 0
03.03.2011, 01:01
    #37145625
!Me
!Me
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
скруглить углы у кнопки WPF
Утка, спасибо Вам огромное, всё действительно именно так! Респект Вам за Ваш высокий уровень!
...
Рейтинг: 0 / 0
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / скруглить углы у кнопки WPF / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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