none
WPF: Fenstergröße eines Child-Fensters RRS feed

  • Frage

  • Hallo Forum,

    ich öffne aus einem Fenster ein anderes Fenster, welches keinen Größenangaben unterliegt. Trotzdem ist das Fenster größer als sein Inhalt, nämlich exakt so groß wie das aufrufende Fenster. Was kann man dagegen machen (ausser die Größe manuell zu setzen)?

    lg heinz

    Montag, 18. März 2013 11:49

Antworten

  • Hi,

    ein Fenster ohne Größenangaben ist hier relativ groß. Ich denke, die Größe wird bestimmt durch den verfügbaren Platz (Bildschirmgröße)...

    Du kannst ja SizeToContent setzen.

    Viele Grüße,

      Thorsten

    • Als Antwort markiert Heinz9 Montag, 18. März 2013 15:07
    Montag, 18. März 2013 14:59

Alle Antworten

  • Hi,
    mit einem ChildWindow ohne Größenangaben kann ich das nicht reproduzieren. Da braucht man etwas mehr Information.
     
    --
    Peter Fleischer
    Montag, 18. März 2013 13:20
  • Hallo Peter,

    hier der Ablauf: (möglicherweise liegt es am Konstruktor?)

    lg heinz

            '   Child Fenster aufrufen
            Private Sub starteSpiel()
                Dim wnd As New BilderPuzzleSpiel.SpielWindow(Me)
                wnd.Owner = Me
                wnd.Show()
            End Sub
    ------------------- Child Fenster ---------------
            '   Konstruktor
            Public Sub New(ByVal wnd As MainWindow)
                InitializeComponent()
                Me.m_WinMain = wnd
            End Sub
    ------------------- XAML ------------------------
    <Window x:Class="BilderPuzzleSpiel.SpielWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="SpielWindow" 
            Loaded="SpielLoaded">
        <!--    Haupt-Zeichenfläche-->
        <DockPanel LastChildFill="True">
            <Border DockPanel.Dock="Top" Margin="10">   <!--Position des Grid im DockPanel-->
                <!--    Grid für Spielstatus-->
                <Grid >
                    <Grid.Resources>
                        <!--    Textformatierung    -->
                        <Style x:Key="Spielstand" TargetType="{x:Type TextBlock}">
                            <Setter Property="FontWeight" Value="Bold" />
                            <Setter Property="FontSize" Value="20" />
                            <Setter Property="Foreground" Value="Black" />
                            <Setter Property="HorizontalAlignment" Value="Center" />
                        </Style>
                    </Grid.Resources>
                    <!--    Zwei Spalten definieren -->
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition />
                        <ColumnDefinition />
                    </Grid.ColumnDefinitions>
                    <TextBlock Grid.Column="0" Name="mx_AnzahlVerschiebungen"
                               Style="{StaticResource Spielstand}">Anzahl Verschiebungen: 0</TextBlock>
                    <TextBlock Grid.Column="1" Name="mx_BenoetZeit"
                               Style="{StaticResource Spielstand}">Benötigte Zeit: 00:00</TextBlock>
                </Grid>
            </Border>
            <Border DockPanel.Dock="Top">  <!--Position für Grid im DockPanel-->
                <!--    Grid für Bildteile-->
                <Grid Name="mx_BildTeileGrid" MouseUp="mx_BildTeileGrid_MouseUp">
                    <!--<Image Margin="10" Width="800" Name="mx_Image" />-->
                </Grid>
            </Border>
        </DockPanel>
    </Window>
    

    Montag, 18. März 2013 14:00
  • Hi,

    ein Fenster ohne Größenangaben ist hier relativ groß. Ich denke, die Größe wird bestimmt durch den verfügbaren Platz (Bildschirmgröße)...

    Du kannst ja SizeToContent setzen.

    Viele Grüße,

      Thorsten

    • Als Antwort markiert Heinz9 Montag, 18. März 2013 15:07
    Montag, 18. März 2013 14:59
  • Hallo Thorsten,

    was es nicht alles gibt! Ja mit "SizeToContent" funktioniert es.

    Danke und lg heinz

    Montag, 18. März 2013 15:07