Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
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í.
Avatar
Adam Ježek
Tvůrce
Avatar
Adam Ježek:9.3.2015 15:18

Zdarec,
nevíte jak ve WPF udělat, aby text v TextBlock/Label/But­ton byl roztažen přes celou buňku v Gridu(a samozřejmě ji zabíral celou i po změně velikosti okna)?
Díky.

Odpovědět
9.3.2015 15:18
Počkej chvíli, poradím se s křišťálovou koulí.
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovídá na Adam Ježek
Petr Nymsa:9.3.2015 15:45

HorizontalAlig­nment="Stretch" by mohlo pomoct

Nahoru Odpovědět
9.3.2015 15:45
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Petr Čech
Tvůrce
Avatar
Odpovídá na Adam Ježek
Petr Čech:9.3.2015 18:15

Nejdříve odychtíš všechny události, při kterých se mění velikost. Potom budeš mít metodu, která bude měnit velikost fontu tak, aby se tam ten text přesně vešel. Asi takhle

double fs;
for (fs = 0.1; true; fs += 0.1)
{
        FormattedText ftext =
        new FormattedText(stretchTbx.Text, CultureInfo.InvariantCulture,
                FlowDirection.LeftToRight,
                new Typeface("Sergoe UI"), fs, Brushes.Black);

        if (ftext.Height >= vyskaBunky || ftext.Width >= sirkaBunky)
                break;
}
stretchTbx.FontSize = fs-0.1;

No a tuto metodu spustíš vždy, když chceš měnit velikost.

Nahoru Odpovědět
9.3.2015 18:15
the cake is a lie
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na Adam Ježek
Jan Vargovský:9.3.2015 19:20

Já to vždycky narval do ViewBoxu.

 
Nahoru Odpovědět
9.3.2015 19:20
Avatar
Adam Ježek
Tvůrce
Avatar
Adam Ježek:9.3.2015 19:31

Petr Nymsa Bohužel nic
Petr Čech Tohle mi příde jako blbost, při každý změně okna měnit velikost fontu...

Jan Vargovský Díky, jedinné co funguje, jen zatímco Grid se roztáhne po celym a mam možnost nějakou kontrolku natáhnou na zbytek okna, tak viewbox si tu kontrolku nechá malou a zůstane neroztaženej. Ať dělam co dělam, tak se mi nedaří ten DataGrid roztáhnout na zbytek formuláře.
V tý první fotce je to ve viewboxu, text se roztahuje jak potřebuju, ale ten DataGrid zůstane malej. Chtěl bych ho roztáhnout jako je na druhý fotce(tam neni viewbox, takže se text neroztahuje), ale to se mi vůbec nedaří. Nevěděl bys jak na to?
Dík.

XAML:

<Window
        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" mc:Ignorable="d" x:Class="packingControlGUI.MainWindow"
        Title="PackingControl" Height="800" Width="450">
  <Viewbox  HorizontalAlignment="Center" VerticalAlignment="Top" >
        <Grid Margin="5" HorizontalAlignment="Stretch">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="2*"/>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="*"/>
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition Height="0.05*" />
                <RowDefinition Height="0.05*" />
                <RowDefinition Height="0.05*" />
                <RowDefinition Height="*"/>
            </Grid.RowDefinitions>


            <TextBlock Grid.Row="0" Grid.Column="0" >Operátor</TextBlock>
            <TextBlock Grid.Row="1" Grid.Column="0" >Bedna</TextBlock>
            <TextBlock Grid.Row="2" Grid.Column="0" >Stav</TextBlock>


            <Label Grid.Row="1" Grid.Column="1" Content="bedn"/>
            <Label Grid.Row="0" Grid.Column="1" Content="_oper"/>

            <Button Grid.Row="0" Grid.Column="2" Margin="3">Odhlásit</Button>
            <Button Grid.Row="0" Grid.Column="3" Margin="3" >Bedny</Button>
            <Button Grid.Row="1" Grid.Column="2" Margin="3">Aktualizovat</Button>
            <Button Grid.Row="1" Grid.Column="3" Margin="3">Vysypat</Button>


            <DataGrid Grid.Row="3" Grid.Column="0" Grid.ColumnSpan="4"  Margin="10"/>


        </Grid>
  </Viewbox>
</Window>
Editováno 9.3.2015 19:33
Nahoru Odpovědět
9.3.2015 19:31
Počkej chvíli, poradím se s křišťálovou koulí.
Avatar
Adam Ježek
Tvůrce
Avatar
Odpovídá na Adam Ježek
Adam Ježek:9.3.2015 19:31

prostě se tam ty fotky nevloží...

Nahoru Odpovědět
9.3.2015 19:31
Počkej chvíli, poradím se s křišťálovou koulí.
Avatar
Jan Vargovský
Tvůrce
Avatar
Jan Vargovský:9.3.2015 19:50

No naházej jednotlivé textblocky do viewboxu :) on ti prostě vezme content a roztáhne ho.

EDIT: Ofc, je to trošku dementní a XAML se ti trošku natáhne :D ale je to asi nejjednodušší řešení.

Editováno 9.3.2015 19:52
 
Nahoru Odpovědět
9.3.2015 19:50
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovídá na Adam Ježek
Petr Nymsa:9.3.2015 19:59

Ještě zkus dát taky nadřazenému elementu HorizontalConen­tAlignment na Stretch. MNedělalo mi to problém a ViewBox jsem nepotřeboval :)

Nahoru Odpovědět
9.3.2015 19:59
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Adam Ježek
Tvůrce
Avatar
Odpovídá na Petr Nymsa
Adam Ježek:9.3.2015 20:13

Hází mi to chybu, existuje vůbec ta vlastnost? Ani našeptávač ji nezná. (a jestli to mělo být content, tak ten taky neni)
//tak tam sice je, ale funguje jen v tom textblocku, v nadřazeném elemtu nikoliv, a nic to nedělá

Editováno 9.3.2015 20:15
Nahoru Odpovědět
9.3.2015 20:13
Počkej chvíli, poradím se s křišťálovou koulí.
Avatar
Adam Ježek
Tvůrce
Avatar
Odpovídá na Jan Vargovský
Adam Ježek:9.3.2015 20:17

tomu sem se chtěl vyhnout :D
každopádně jenom u těch tlačítek mi to dělá šířku dle délky nextu a nevyplní celou buňku, nepomůže ani

HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
Nahoru Odpovědět
9.3.2015 20:17
Počkej chvíli, poradím se s křišťálovou koulí.
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 10 zpráv z 10.