2009-08-24 4 views
0

dehnen Ich habe eine Listenansicht der Breite auf Auto festgelegt. Wenn ich die Windows App starte, öffnet sie sich in normaler Größe (nicht maximiert). Aber wenn ich das Fenster maximiere, ist die Breite der Listenansicht gleich und das Feld rechts davon ist leer.Wie die Steuerelemente gemäß der Seitengröße in WPF

normale Größe | _________________________ | Maximiert | _________________________ | ...........

obwohl das Fenster jetzt im Vollbildmodus belegt ist. Bitte führen Sie mich bei der Arbeit daran.

Dank Ramm

Antwort

1

StackPanel, von Design, kümmert sich nicht um visuelle Raum. Es soll möglichst wenig Platz einnehmen. Sie können die innerste StackPanel verlassen, dass die Radio-Buttons anstelle Wraps, aber Ihre äußere Layout-Container sollte unter, DockPanel zu Grid oder, wie in meinem Beispiel geändert werden:

<Window x:Class="Window1" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="Window1" Height="445" Width="515"> 

    <DockPanel Name="spDataFlow" Margin="0,45,0,0" > 
     <DockPanel x:Name="stkPnlDataFlow" VerticalAlignment="Top"> 

      <Grid> 
       <Grid.ColumnDefinitions> 
        <ColumnDefinition Width="*" /> 
       </Grid.ColumnDefinitions> 
       <Grid.RowDefinitions> 
        <RowDefinition Height="*" /> 
        <RowDefinition Height="Auto" /> 

       </Grid.RowDefinitions> 
      </Grid> 

      <StackPanel Grid.Row="1" Background="Red" Margin="20,15,0,0" Orientation="Horizontal" VerticalAlignment="Center" > 
       <RadioButton Name="rdbtnUploadData" HorizontalAlignment="Left" VerticalAlignment="Center" FontSize="12" Foreground="White" Content="Upload Data" IsEnabled="True" CommandParameter="UploadAll"/> 
       <RadioButton Name="rdbtnDownloadData" HorizontalAlignment="Left" VerticalAlignment="Center" FontSize="12" Foreground="White" Content="Download Data" Margin="20,0" CommandParameter="DownloadAll"/> 
       <RadioButton Name="rdbtnUploadSelected" HorizontalAlignment="Left" VerticalAlignment="Center" FontSize="12" Foreground="White" Content="Update Data" Margin="10,0" CommandParameter="UpdateSelected"/> 
      </StackPanel> 

     </DockPanel> 
    </DockPanel> 

</Window> 
+0

Hallo Rob, danke für die Hilfe .. Aber irgendwie konnte das nicht funktionieren. Ich habe noch einen leeren Bereich auf der rechten Seite des Bildschirms danke ramm – Ramm

+0

Was möchten Sie diesen Raum belegen? Möchten Sie, dass die Radioknöpfe weit auseinander liegen? Wenn das der Fall ist, müssen Sie das innerste StackPanel ersetzen. –

0

Nun, ich glaube, dass das Listview-Steuerelement standardmäßig automatisch alle verfügbaren Raum füllt, so dass es sehr seltsam, dass ein solches Problem haben. Könnten Sie Ihren Code einfügen?

Verwandte Themen