2016-05-16 9 views
1
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="300" /> 
     <ColumnDefinition Width="*" /> 
    </Grid.ColumnDefinitions> 
    <Rectangle Fill="#8686EA" Grid.Column="0" /> 
    <Rectangle Fill="#FFFFE1" Grid.Column="1" /> 
    <TextBlock x:Name="NickNameBlock" HorizontalAlignment="Left" Margin="10,22,0,0" TextWrapping="Wrap" Text="Nickname" VerticalAlignment="Top"/> 
    <TextBox x:Name="NickName" HorizontalAlignment="Left" Margin="84,10,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="109"/> 
    <TextBlock x:Name="ChannelBlock" HorizontalAlignment="Left" Margin="10,59,0,0" TextWrapping="Wrap" Text="Channel" VerticalAlignment="Top"/> 
    <TextBox x:Name="Channel" HorizontalAlignment="Left" Margin="84,47,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="109"/> 
    <Button x:Name="JoinButton" Content="Join" HorizontalAlignment="Left" Margin="198,47,0,0" VerticalAlignment="Top"/> 
    <Grid Grid.Column="1"> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="630" /> 
      <ColumnDefinition Width="200" /> 
     </Grid.ColumnDefinitions> 
     <Rectangle Fill="white" Stroke="Black" StrokeThickness="0" Grid.Column="0" Margin="10,27,0,100" /> 
     <!--<Rectangle Fill="white" Stroke="Black" StrokeThickness="1" Grid.Column="1" Margin="6,10,71,196" />--> 
     <Grid Grid.Column="1" Margin="0,0,0,196"> 
      <Grid.RowDefinitions> 
       <RowDefinition Height="40"/> 
       <RowDefinition Height="30"/> 
       <RowDefinition Height="*"/> 
      </Grid.RowDefinitions> 
      <Rectangle Fill="#8686EA" Stroke="Black" StrokeThickness="0" Grid.Row="0" Margin="10,0,0,0" /> 
      <Rectangle Fill="#CCCCFF" Stroke="Black" StrokeThickness="0" Grid.Row="1" Margin="10,0,0,-5" RenderTransformOrigin="0.505,0.719" Grid.RowSpan="2" /> 
      <ListBox x:Name="listBox" Grid.Row="2" Margin="10,10,0,0" VerticalAlignment="Top" VerticalContentAlignment="Stretch" ScrollViewer.VerticalScrollBarVisibility="Visible"> 
       <ListBox.Items> 
        <ListBoxItem Content="Tewl"/> 
        <ListBoxItem Content="Ryu"/> 
        <ListBoxItem Content="Clint"/> 
        <ListBoxItem Content="Bak3r"/> 
        <ListBoxItem Content="sm0kex"/> 
        <ListBoxItem Content="Jack"/> 
        <ListBoxItem Content="Bam"/> 
        <ListBoxItem Content="Jay"/> 
        <ListBoxItem Content="Tewl"/> 
        <ListBoxItem Content="Ryu"/> 
        <ListBoxItem Content="Clint"/> 
        <ListBoxItem Content="Bak3r"/> 
        <ListBoxItem Content="sm0kex"/> 
        <ListBoxItem Content="Jack"/> 
        <ListBoxItem Content="Bam"/> 
        <ListBoxItem Content="Jay"/> 
        <ListBoxItem Content="Tewl"/> 
        <ListBoxItem Content="Ryu"/> 
        <ListBoxItem Content="Clint"/> 
        <ListBoxItem Content="Bak3r"/> 
        <ListBoxItem Content="sm0kex"/> 
        <ListBoxItem Content="Jack"/> 
        <ListBoxItem Content="Bam"/> 
        <ListBoxItem Content="Jay"/> 
       </ListBox.Items> 
      </ListBox> 
     </Grid> 
    </Grid> 
</Grid> 

updated listbox in full mode updated nicklist resized still wont expand listboxListbox in Grid wird die Größe nicht

dies für Chris W. reupdated wurde dies das gesamte code..my Problem hat, muss höher sein, die ich wirklich Breite/Höhe/Margen hassen ..

+1

Entfernen Sie die feste Höhe und negativen Rand auf Ihrer ListBox für Starter ..... Dann ändern Sie "Auto" auf "*" auf Ihrer letzten RowDefinition. –

+0

@Chris W. Danke für die Unterstützung ... Ich habe die Änderungen vorgenommen, die Sie mir nach dem Ändern seit dem letzten Post mitgeteilt haben ... Ich kann immer noch keinen vollen Listbox-Bildschirm bekommen, wenn das Fenster nicht maximiert ist [code] –

+0

Set VerticalContentAlignment = Stretch/VerticalAlignment = Strecken, wenn das nicht der Fall ist, dann haben Sie einen höheren Konflikt in Ihrer Layoutstruktur. –

Antwort

0

So werden Ihre Margen und Rowspans und unnötiges Durcheinander Ihnen in der Zukunft mehr Kopfschmerzen bereiten. Wenn es Ihnen nichts ausmacht, bin ich einfach weiter gegangen und habe das, was Sie dort hatten, neu geschrieben und alles gemacht, damit es auf jede Größenänderung und auf alles, was Sie tun, reagiert. Siehe unten vorgenommene Änderungen, die Ihre Antwort enthalten. Wenn ich es wäre, würde ich etwas mehr so ​​machen;

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="300" /> 
     <ColumnDefinition Width="*" /> 
     <ColumnDefinition MinWidth="200" Width="Auto"/> 
    </Grid.ColumnDefinitions> 

    <!-- Left Pane --> 
    <Grid VerticalAlignment="Top" Margin="10"> 
     <Grid.RowDefinitions> 
      <RowDefinition/> 
      <RowDefinition/> 
     </Grid.RowDefinitions> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="Auto"/> 
      <ColumnDefinition Width="*"/> 
      <ColumnDefinition Width="Auto"/> 
     </Grid.ColumnDefinitions> 
     <Grid.Resources> 
      <Style TargetType="TextBox"> 
       <Setter Property="MinHeight" Value="26"/> 
       <Setter Property="Margin" Value="5"/> 
      </Style> 
      <Style TargetType="TextBlock"> 
       <Setter Property="FontWeight" Value="SemiBold"/> 
       <Setter Property="VerticalAlignment" Value="Center"/> 
       <Setter Property="HorizontalAlignment" Value="Right"/> 
      </Style> 
     </Grid.Resources> 

     <!-- These didn't seem to have a purpose, so commenting out for now. 
     <Rectangle Fill="#8686EA" Grid.Column="0" /> 
     <Rectangle Fill="#FFFFE1" Grid.Column="1" /> 
     --> 

     <TextBlock x:Name="NickNameBlock" Text="Nickname"/> 
     <TextBox Grid.Column="1" x:Name="NickName" 
       TextWrapping="Wrap" Text=""/> 

     <TextBlock Grid.Row="1" x:Name="ChannelBlock" Text="Channel" /> 
     <TextBox Grid.Row="1" Grid.Column="1" x:Name="Channel" 
       TextWrapping="Wrap" Text=""/> 

     <Button Grid.Row="1" Grid.Column="2" x:Name="JoinButton" Content="Join" 
       MinWidth="50" Margin="0,5"/> 

    </Grid> 
    <!-- End Left Pane --> 

    <!-- Center Pane --> 
    <Rectangle Grid.Column="1" Fill="white"/> 
    <!-- End Center Pane --> 

    <!-- Right Pane --> 
    <Grid Grid.Column="2" Background="#CCCCFF"> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="40"/> 
      <RowDefinition Height="40"/> 
      <RowDefinition Height="*"/> 
     </Grid.RowDefinitions> 
     <Rectangle Fill="#8686EA"/> 

     <ListBox x:Name="listBox" Grid.Row="2" 
       ScrollViewer.VerticalScrollBarVisibility="Visible"> 
      <ListBox.Items> 
       <ListBoxItem Content="Tewl"/> 
       <ListBoxItem Content="Ryu"/> 
       <ListBoxItem Content="Clint"/> 
       <ListBoxItem Content="Bak3r"/> 
       <ListBoxItem Content="sm0kex"/> 
       <ListBoxItem Content="Jack"/> 
       <ListBoxItem Content="Bam"/> 
       <ListBoxItem Content="Jay"/> 
       <ListBoxItem Content="Tewl"/> 
       <ListBoxItem Content="Ryu"/> 
       <ListBoxItem Content="Clint"/> 
       <ListBoxItem Content="Bak3r"/> 
       <ListBoxItem Content="sm0kex"/> 
       <ListBoxItem Content="Jack"/> 
       <ListBoxItem Content="Bam"/> 
       <ListBoxItem Content="Jay"/> 
       <ListBoxItem Content="Tewl"/> 
       <ListBoxItem Content="Ryu"/> 
       <ListBoxItem Content="Clint"/> 
       <ListBoxItem Content="Bak3r"/> 
       <ListBoxItem Content="sm0kex"/> 
       <ListBoxItem Content="Jack"/> 
       <ListBoxItem Content="Bam"/> 
       <ListBoxItem Content="Jay"/> 
      </ListBox.Items> 
     </ListBox> 
    </Grid> 
    <!-- End Right Pane --> 

</Grid> 

Ergebnis:

enter image description here

hoffe, das hilft, cheers.

+0

PS Wenn Sie tatsächlich eine IRC-App von Anfang bis Ende machen (betonen die Rolle beim Beenden), können wir offline reden und ich wäre vielleicht bereit, etwas Zeit für eine coole Benutzeroberfläche zu spenden Sie erweitern mein Portfolio anhand dieses Beispiels. Außer, dass ich am Ende viel zu viel freie Arbeit für Leute mache, die ihr Ende nicht beenden, was es für mich sinnlos macht, zu helfen. Viel Glück auf jeden Fall! :) –

+0

vielen Dank @ChrisW. nein, wir sind extrem darauf bedacht, dies zu beenden ... das ist für einen aufstrebenden Chat Server www.irc7.com mit einer fast identischen Engine wie beim ursprünglichen msn Chat ... wir müssen jetzt nur einen Client machen und uns von der msnchat ocx will niemand mehr benutzen ... ich würde jede Hilfe lieben, die Sie für Gui Design anbieten können –

0

Die letzte RowDefinition auf * setzen, die Ränder entfernen und die VerticalAlignment = Top ändern, schien für mich zu funktionieren.

<Grid Grid.Column="1" Margin="0,0,0,0"> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="40"/> 
      <RowDefinition Height="30"/> 
      <RowDefinition Height="*"/> 
     </Grid.RowDefinitions> 
     <Rectangle Fill="#8686EA" Stroke="Black" StrokeThickness="0" Grid.Row="0" Margin="10,0,0,0" /> 
     <Rectangle Fill="#CCCCFF" Stroke="Black" StrokeThickness="0" Grid.Row="1" Margin="10,0,0,0" RenderTransformOrigin="0.505,0.719" /> 
     <ListBox x:Name="listBox" Grid.Row="2" Margin="10,0,0, 0" VerticalAlignment="Top"> 
      <ListBox.Items> 
       <ListBoxItem Content="Tewl"/> 
       <ListBoxItem Content="Ryu"/> 
       <ListBoxItem Content="Clint"/> 
       <ListBoxItem Content="Bak3r"/> 
       <ListBoxItem Content="sm0kex"/> 
       <ListBoxItem Content="Jack"/> 
       <ListBoxItem Content="Bam"/> 
       <ListBoxItem Content="Jay"/> 
      </ListBox.Items> 
     </ListBox> 
    </Grid> 
+0

es muss meine obere Hierarchie sein –

Verwandte Themen