IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Mezi 13:00 až cca 16:00 proběhne odstávka sítě z důvodu aktualizace. Web bude po celou dobu nedostupný.
Avatar
Maros2470
Člen
Avatar
Maros2470:18.2.2015 14:36

Zdravím Jelikož s WPF teprve začínám, tak zkouším různé úpravy vzhledu. Narazil jsem však u TextBox na problém. Vzhled jsem sice nějak docílil, ale nelze to TextBox psát. Úpravu vzhledu dělám v App.xaml. Můžete mi poradit?

<Application x:Class="Test2.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             StartupUri="MainWindow.xaml">
    <Application.Resources>
        <LinearGradientBrush x:Key="GrayBlueGradientBrush" StartPoint="0,0" EndPoint="1,1">
            <GradientStop Color="DarkGray" Offset="0" />
            <GradientStop Color="#CCCCFF" Offset="0.5" />
            <GradientStop Color="DarkGray" Offset="1" />
        </LinearGradientBrush>

        <Style TargetType="{x:Type TextBox}">
            <Setter Property="Background" Value="{StaticResource GrayBlueGradientBrush}" />
            <Setter Property="Width" Value="80" />
            <Setter Property="Margin" Value="10" />
            <Setter Property="Template">
                <Setter.Value>


                    <ControlTemplate TargetType="TextBox">
                        <Grid Width="{TemplateBinding Width}" Height="{TemplateBinding Height}" ClipToBounds="True">


                            <Rectangle x:Name="outerRectangle" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Stroke="{TemplateBinding Background}" RadiusX="10" RadiusY="10" StrokeThickness="2" Fill="Yellow" />




                        </Grid>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </Application.Resources>
</Application>
Editováno 18.2.2015 14:38
 
Odpovědět
18.2.2015 14:36
Avatar
Odpovídá na Maros2470
sadlomaslox25:18.2.2015 14:52

a co byl cil te upravy? me to totiz moc nedava smysl.

 
Nahoru Odpovědět
18.2.2015 14:52
Avatar
Maros2470
Člen
Avatar
Odpovídá na sadlomaslox25
Maros2470:18.2.2015 15:01

Zaoblil jsem hrany, upravil barvu ohraničení a nastavil rozměry. Mělo by to sloužit jako šablona pro veškeré TextBoxy v aplikaci.

 
Nahoru Odpovědět
18.2.2015 15:01
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na Maros2470
Jan Vargovský:18.2.2015 17:47

Tak si editni už existující styl. V GUI to tam jde někde proklikat - něco ve stylu "edit existing style".

 
Nahoru Odpovědět
18.2.2015 17:47
Avatar
Odpovídá na Maros2470
Michal Štěpánek:19.2.2015 9:07

mrkni se sem
http://xaml.cz/…ich-pouziti/
je to sice staršího data, ale celkem pěkně popsané...

Nahoru Odpovědět
19.2.2015 9:07
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovídá na sadlomaslox25
Petr Nymsa:19.2.2015 10:42

Přidej u style kromě TargetType ještě BasedOn - podědíš základní styl

BasedOn = {StatickResource{x:Type TextBox}}
Nahoru Odpovědět
19.2.2015 10:42
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Odpovídá na Maros2470
sadlomaslox25:19.2.2015 10:51

To cos udelal je ze ses pokousel zmenit control template tak ze si zmazal hlavni prvek co tam byl a nahradil ho uplne nejakym jinym. Budto to musis nastavit co jde tak pres obyc Style settery nebo pro manipulaci s control templatem si precti nejaky tutorial jako napr. https://msdn.microsoft.com/…s.85%29.aspx?… (neni to moc dobry totorial sice ale myslim ze tam dela presne to co chces delat ty.
Musis mit border a v borderu musi byt <ScrollViewer x:Name="PART_Con­tentHost"

 
Nahoru Odpovědět
19.2.2015 10:51
Avatar
Maros2470
Člen
Avatar
Maros2470:19.2.2015 11:33

Díky za rady

 
Nahoru Odpovědět
19.2.2015 11:33
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 8 zpráv z 8.