Avatar
HONZ4
Člen
Avatar
HONZ4:

Ahoj, poprvé zkouším si WPF. Mám button s gradient:

<Button x:Name="button" Content="Play" Margin="0,0,10,10" Click="button_Click" HorizontalAlignment="Right" Width="101" Height="34" VerticalAlignment="Bottom" BorderBrush="#FF707070" Foreground="#FFE2E2E2" FontWeight="Bold">
    <Button.Background>
        <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
            <GradientStop Color="#FF212121" Offset="1"/>
            <GradientStop Color="#FF2E2E2E"/>
        </LinearGradientBrush>
    </Button.Background>
</Button>

ale nemůžu přijít na to, jak nastavit barvu gradientu při najetí myší nad tlačítko, při stisku a při změně "enabled"

Editováno 17. října 19:27
 
Odpovědět 17. října 19:25
Avatar
ostrozan
Redaktor
Avatar
Odpovídá na HONZ4
ostrozan:

Tak to už je trochu "vyšší dívčí"
buď si to nastav v obsluze události "MouseOver",

nebo použij Trigger

 
Nahoru Odpovědět 17. října 20:30
Avatar
HONZ4
Člen
Avatar
Odpovídá na ostrozan
HONZ4:

Dá se to přes ten trigger nastavit nějak globálně?

 
Nahoru Odpovědět 17. října 22:55
Avatar
Lukas C#
Redaktor
Avatar
Odpovídá na HONZ4
Lukas C#:

Pomocí Resources:

<Window.Resources>
<Style TargetType="TextBlock">
                    <Setter Property="Foreground" Value="Blue"></Setter>
                    <Style.Triggers>
                        <Trigger Property="IsMouseOver" Value="True">
                            <Setter Property="Foreground" Value="Red" />
                            <Setter Property="TextDecorations" Value="Underline" />
                        </Trigger>
                    </Style.Triggers>
                </Style>
</Window.Resources>

-> použití TargetType="Tex­tBlock" automaticky nastaví tento styl všem TextBlockům, které jsou v elementu Window. Analogicky tedy s Button

 
Nahoru Odpovědět 17. října 23:44
Avatar
HONZ4
Člen
Avatar
Odpovídá na Lukas C#
HONZ4:

Mohl by poprosit o komplet ukázku?
Mě se to nedaří:

<Window x:Class="WpfApplication5.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApplication5"
        mc:Ignorable="d"
        Title="MainWindow" Height="350" Width="525">

    <Window.Resources>
        <Style TargetType="Button">
            <Setter Property="Foreground" Value="Blue"></Setter>
            <Style.Triggers>
                <Trigger Property="IsMouseOver" Value="True">
                    <Setter Property="Foreground" Value="Red" />
                </Trigger>
            </Style.Triggers>
        </Style>
    </Window.Resources>

    <Grid Background="#FF202020">
        <Button x:Name="button" Content="Play" Margin="0,0,116,10" Click="button_Click" HorizontalAlignment="Right" Width="101" Height="34" VerticalAlignment="Bottom" BorderBrush="#FF707070" Foreground="#FFE2E2E2" FontWeight="Bold">
            <Button.Background>
                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                    <GradientStop Color="#FF212121" Offset="1"/>
                    <GradientStop Color="#FF2E2E2E"/>
                </LinearGradientBrush>
            </Button.Background>
        </Button>
        <Label x:Name="label1" Content="Label" Margin="49,41,0,0" Height="25" VerticalAlignment="Top" HorizontalAlignment="Left" Width="151" Foreground="#FFA6BD11" FontWeight="Bold"/>
        <Button x:Name="button_Copy" Content="Stop" Margin="0,0,10,10" Click="button_Click" HorizontalAlignment="Right" Width="101" Height="34" VerticalAlignment="Bottom" BorderBrush="#FF707070" Foreground="#FFE2E2E2" FontWeight="Bold" IsCancel="True">
            <Button.Background>
                <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                    <GradientStop Color="#FF212121" Offset="1"/>
                    <GradientStop Color="#FF2E2E2E"/>
                </LinearGradientBrush>
            </Button.Background>
        </Button>
    </Grid>
</Window>

Já nejlépe pochopím na konkrétním příkladu jak to funguje. Na netu jsem našel spoustu dlouhých kódů, ale ne to na čem bych to pochopil. A nemůžu nikde najít žádný rozumný tutoriál, nebo návod.

Editováno 18. října 19:10
 
Nahoru Odpovědět 18. října 19:09
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.