Laden...

Wie kann ich einen Textblock horizontal und vertikal zentrieren (Geht nur im Designer)

Erstellt von echdeneth vor 4 Jahren Letzter Beitrag vor 4 Jahren 740 Views
echdeneth Themenstarter:in
161 Beiträge seit 2019
vor 4 Jahren
Wie kann ich einen Textblock horizontal und vertikal zentrieren (Geht nur im Designer)

Moin und Gesundheit euch allen,

ich habe eine "Box" die sich Animiert bei einer Fehlermeldung z.B. öffnet und dann die
Meldung oder Exception anzeigt. Die Animation ist hierbei nicht das Problem und
funktioniert wie erwartet. Die Meldung hingegen wird nicht Vertikal Zentriert sondern nur Horizontal.
Die Anzeige im Designer hingegen ist wie sie soll, Hor. und Vertik. zentriert.

Die "Box" - Habe es auch ohne Grid probiert.


        <materialDesign:Card Grid.Row="2"
                             Height="50" VerticalAlignment="Bottom"
                             Margin="0,0,0,-0"
                             x:Name="Statusbalken">
            <materialDesign:Card.Background>
                <SolidColorBrush Color="#FF0AA01E"/>
            </materialDesign:Card.Background>
            <Grid>
                <TextBlock Text="Statusmeldung" 
                           FontSize="20" 
                           FontWeight="Bold"
                           x:Name="verif" 
                           HorizontalAlignment="Center" 
                           VerticalAlignment="Center" 
                           />
            </Grid>
        </materialDesign:Card>

Innerhalb einer catch-Klausel:


                Statusbalken.Background = Brushes.Red;
                verif.Text = "\nFehler: " + ex.Message;
                status.Text += "\nFehler: " + ex.Message;               
                Storyboard sb = FindResource("verif") as Storyboard;
                sb.Begin();

Und das Storyboard:


        <Storyboard x:Key="verif">
            <ThicknessAnimationUsingKeyFrames Storyboard.TargetProperty="Margin" 
                                              BeginTime="00:00:00"
                                              AutoReverse="True" 
                                              Storyboard.TargetName="Statusbalken">
                <SplineThicknessKeyFrame KeyTime="00:00:00" 
                                         Value="0,0,0,-50"/>
                <EasingThicknessKeyFrame KeyTime="0:0:1" 
                                         Value="0,0,0,0">
                    <EasingThicknessKeyFrame.EasingFunction>
                        <CircleEase EasingMode="EaseInOut"/>
                    </EasingThicknessKeyFrame.EasingFunction>
                </EasingThicknessKeyFrame>
                <SplineThicknessKeyFrame KeyTime="00:00:03" 
                                         Value="0,0,0,0"/>
            </ThicknessAnimationUsingKeyFrames>
        </Storyboard>

Wie gesagt wird die Meldung nicht als "VerticalAlignment="Center"",
sondern eher als "...="Bottom"" dargestellt.

Ich weiss nur nicht wieso...

"Man muß die Dinge so einfach wie möglich machen. Aber nicht einfacher." Albert Einstein

4.939 Beiträge seit 2008
vor 4 Jahren

Entferne mal die Höhenangabe Height="50".
Möchtest du evtl. MinHeight setzen?

echdeneth Themenstarter:in
161 Beiträge seit 2019
vor 4 Jahren

Habe den Fehler gefunden, ist ein sogenannter Watschn-Fehler,
also einer bei dem man eigentlich watt links und recht kriegen müsste.

Habe vor der Meldung ein Zeilenumbruch gehabt...

"Man muß die Dinge so einfach wie möglich machen. Aber nicht einfacher." Albert Einstein