powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Помогите создать "кнопку-невидимку"
6 сообщений из 6, страница 1 из 1
Помогите создать "кнопку-невидимку"
    #37205167
Lester
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.

Хочу сделать кнопку, в контент которой поместить некоторый Path (хочу сделать свои кнопки минимизации, разворачивания и закрытия окна), например такой:
Код: plaintext
1.
    <Rectangle x:Name="MinimizeRect" Width="8" Height="1.25" Fill="{Binding ElementName=MinButton, Path=Foreground}" VerticalAlignment="Bottom" />  

но при этом сама кнопка была бы невидима абсолютно но имела обработчик события клик.

Наигрался со стандартным темплейтом кнопки, сделал её невидимой даже каким-то образом, но вот клик принимает только сам объект Path, а остальная часть кнопки не реагирует на него. Также хочу, чтобы при наведении курсора мыши на кнопку изменялся цвет объекта Path. Как исправить?

Сейчас шаблон кнопки такой:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
 <Style x:Key="ButtonStyle1" TargetType="{x:Type Button}">            
            <Setter Property="Background" Value="Transparent"/>
            <Setter Property="BorderBrush" Value="Transparent"/>
            <Setter Property="BorderThickness" Value="0"/>
            <Setter Property="Foreground" Value="Gray"/>
            <Setter Property="HorizontalContentAlignment" Value="Center"/>
            <Setter Property="VerticalContentAlignment" Value="Center"/>
            <Setter Property="Padding" Value="2"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type Button}">
                        <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" 
RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalAlignment}"/>
                        <ControlTemplate.Triggers>
                            <Trigger Property="IsKeyboardFocused" Value="true">
                                <Setter Property="Foreground" Value="White"/>
                            </Trigger>
                            <Trigger Property="IsMouseOver" Value="true">
                                <Setter Property="Foreground" Value="White"/>
                            </Trigger>
                            <Trigger Property="IsMouseOver" Value="false">
                                <Setter Property="Foreground" Value="Gray"/>
                            </Trigger>                           
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>

Саму кнопку объявляю так (на примере кнопки минимизации окна):
Код: plaintext
1.
2.
3.
4.
5.
<Button x:Name="MinButton" Style="{StaticResource ButtonStyle1}" Height="20" Width="Auto" Margin="2,3,2,10" VerticalContentAlignment="Bottom" Click="MinButton_Click">
                        <Button.Content>                            
                            <Rectangle x:Name="MinimizeRect" Width="8" Height="1.25" Fill="{Binding ElementName=MinButton, Path=Foreground}" VerticalAlignment="Bottom" />     
                        </Button.Content>
                    </Button>

Спасибо.
...
Рейтинг: 0 / 0
Помогите создать "кнопку-невидимку"
    #37205282
Руки-крюки
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lester,

Взять стандартный шаблон кнопки и заменить там rectangle на path. Клик будет происходит только если в той точке есть какой-то контрол из визуального дерева кнопки - думайте (в большинстве случаев это так, но может такое случится что этот контрол оборвет маршрут click события).
...
Рейтинг: 0 / 0
Помогите создать "кнопку-невидимку"
    #37205862
Lester
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
мало что получается( я новичок в впф и уже несколько дней занят этой проблемой...пробовал path уже даже в бэкграунд кнопки кидать вот так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
<Setter Property="Background">
                <Setter.Value>
                    <VisualBrush TileMode="None">
                        <VisualBrush.Visual>
                            <Path x:Name="MaximizeRect" Data="M0.5,0.5 L9.5,0.5 L9.5,9.5 L0.5,9.5 z M0.5,1.498 L9.4579998,1.498" Fill="Transparent" Stretch="Fill" Stroke="White"  Width="10" Height="10" StrokeThickness="1.1"/>
                        </VisualBrush.Visual>
                    </VisualBrush>
                </Setter.Value>
            </Setter>

быть может кто-то сможет внятный пример накидать? HELP!!!!
...
Рейтинг: 0 / 0
Помогите создать "кнопку-невидимку"
    #37205864
Lester
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По ходу если убрать у кнопки Chrome то ничего не отрабатывает(
...
Рейтинг: 0 / 0
Помогите создать "кнопку-невидимку"
    #37206061
Фотография pitachek69
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lester,

хм, вроде все нормально работает. или я чего-то не понял?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
<Window.Resources>
        <Style x:Key="ButtonStyle1" TargetType="{x:Type Button}">
            <Setter Property="BorderThickness" Value="1"/>
            <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
            <Setter Property="HorizontalContentAlignment" Value="Center"/>
            <Setter Property="VerticalContentAlignment" Value="Center"/>
            <Setter Property="Padding" Value="1"/>
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type Button}">
                        <Border  Background="Transparent">
                            <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" 
RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalAlignment}"/>
                        </Border>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </Window.Resources>
    <Grid>
        <Button x:Name="MinButton" Content="Test" Style="{StaticResource ButtonStyle1}" Height="20" Width="Auto" Margin="2,3,2,10" VerticalContentAlignment="Bottom" Click="testClick"/>
    </Grid>
...
Рейтинг: 0 / 0
Помогите создать "кнопку-невидимку"
    #37207207
Lester
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
СПАСИБО!!!!!
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Помогите создать "кнопку-невидимку"
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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