Správičky 2 177 Blogy 553 Fórum 13 366

Resize WPF okna

photo
ian
6. 3. 2010 0:15:53
Body: 2345
Najaktívnejší č.: 12

Resize WPF okna

Ahojte, potreboval by som postrcit. Mam na okne tabControl. Na tabItem je groupBox. Chcem dosiahnut aby sa pr resize okna  resizoval aj samotny obsah okna, tj. tabControl resp. prvky na tabItem.

XAML code:
<Window x:Class="WPF.Client.Window1"
    xmlns
="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x
="http://schemas.microsoft.com/winfx/2006/xaml"
    Loaded
="Window_Loaded"
    Title
="Client" Width="Auto" Height="Auto" SizeToContent="WidthAndHeight" ResizeMode="CanResize" FontSize="14">

    
<StackPanel Width="Auto" Height="Auto">
        
<TabControl Name="tabControl1" Width="Auto" Height="Auto" SelectionChanged="tabControl1_SelectionChanged" Margin="5">
             
<TabItem Header="Pacienty">
                  
<!--groupBoxs a DataGridView-->
            
</TabItem>
      
</TabControl>
   
</StackPanel>

</Window>
Nejak sa mi to konfiguraciou cez XAML nedari, rozmyslal som v evente okna OnResize prepocitat velkost tabControl, ale musi to ist nejak cez XAML. Nastavil som vlastnost okna SizeToContent na WidthAndHeight ale nepomohlo.

Vyzera to takhle:
http://img693.imageshack.us/img693/301/clipboard02kd.jpg

Mojim cielom je pri resize okna resiznut aj ten tabControl smerom height and width, nejak sa mu nechce :( A pri resize okna resiznut aj tie groupBoxy. Vdaka

Machines should work; People should think.

[Reakcia]

photo
toskrip
6. 3. 2010 9:44:08
Body: 120
Najaktívnejší č.: 73

RE: Resize WPF okna

Ono záleží od toho do akých layoutovacích prvkov tie group boxy poukladáš. Ak chceš mať resizovateľný layout musíš ho tak aj navrhnúť. Napríklad pre tvoje okno by mohol XAML vypadať nasledovne.
<Window
    x:Class="WpfApplication1.MainWindow"
    xmlns
="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x
="http://schemas.microsoft.com/winfx/2006/xaml"
    Title
="MainWindow"
    Height
="350"
    Width
="525"
    
>
    
<Grid
        >
        
<TabControl
            x:Name="tc"
            
>
            
<TabItem
                Header="Pacienty"
                
>
                
<ScrollViewer
                    VerticalScrollBarVisibility="Auto"
                    
>
                    
<Grid
                        >
                        
<Grid.ColumnDefinitions>
                            
<ColumnDefinition Width="80*" />
                            
<ColumnDefinition Width="100" />
                        
</Grid.ColumnDefinitions>
                        
<GroupBox
                            Header="Osobne Zaznamy"
                            
>
                            
<Grid>
                                
<Grid.ColumnDefinitions>
                                    
<ColumnDefinition Width="60*" />
                                    
<ColumnDefinition Width="40*" />
                                
</Grid.ColumnDefinitions>
                                
<Grid>
                                    
<Grid.ColumnDefinitions>
                                        
<ColumnDefinition Width="30*" />
                                        
<ColumnDefinition Width="70*" />
                                    
</Grid.ColumnDefinitions>
                                    
<Grid.RowDefinitions>
                                        
<RowDefinition Height="30" />
                                        
<RowDefinition Height="30" />
                                        
<RowDefinition Height="30" />
                                        
<RowDefinition Height="30" />
                                        
<RowDefinition Height="30" />
                                        
<RowDefinition Height="30" />
                                        
<RowDefinition Height="90"/>
                                        
<RowDefinition />
                                    
</Grid.RowDefinitions>

                                    
<StackPanel>
                                        
<Label>Priezvisko:</Label>
                                    
</StackPanel>
                                    
<StackPanel Grid.Column="1">
                                        
<TextBox></TextBox>
                                    
</StackPanel>

                                    
<StackPanel Grid.Row="1">
                                        
<Label>Meno:</Label>
                                    
</StackPanel>
                                    
<StackPanel Grid.Row="1" Grid.Column="1">
                                        
<TextBox></TextBox>
                                    
</StackPanel>
                                    
                                    
<StackPanel Grid.Row="2">
                                        
<Label >Poistovna:</Label>
                                    
</StackPanel>
                                    
<StackPanel Grid.Row="2" Grid.Column="1">
                                        
<TextBox></TextBox>
                                    
</StackPanel>

                                    
<StackPanel Grid.Row="3">
                                        
<Label>Rc:</Label>
                                    
</StackPanel>
                                    
<StackPanel Grid.Row="3" Grid.Column="1">
                                        
<TextBox></TextBox>
                                    
</StackPanel>
                                    
                                    
<StackPanel Grid.Row="4">
                                        
<Label>Telefon:</Label>
                                    
</StackPanel>
                                    
<StackPanel Grid.Row="4" Grid.Column="1">
                                        
<TextBox></TextBox>
                                    
</StackPanel>
                                    
                                    
<StackPanel Grid.Row="5">
                                        
<Label>Krvna skupina:</Label>
                                    
</StackPanel>
                                    
<StackPanel Grid.Row="5" Grid.Column="1">
                                        
<TextBox></TextBox>
                                    
</StackPanel>
                                    
                                    
<StackPanel Grid.Row="6">
                                        
<Label>Anamneza:</Label>
                                    
</StackPanel>
                                    
<StackPanel Grid.Row="6" Grid.Column="1">
                                        
<TextBox
                                            MinLines="10"
                                            MinHeight
="80"
                                            
>
                                        
</TextBox>
                                    
</StackPanel>

                                    
<StackPanel Grid.Row="7">
                                        
<Label>Diagnoza:</Label>
                                    
</StackPanel>
                                    
<StackPanel Grid.Row="7" Grid.Column="1">
                                        
<TextBox
                                            MinLines="10"
                                            MinHeight
="80"
                                            
>
                                        
</TextBox>
                                    
</StackPanel>
                                
</Grid>
                                
<GroupBox
                                    Header="Lieky"
                                    Grid.Column
="1"
                                    
>
                                    
<ListBox>
                                        
<ListBoxItem>Novalgin</ListBoxItem>
                                        
<ListBoxItem>Xanax</ListBoxItem>
                                    
</ListBox>
                                
</GroupBox>
                            
</Grid>
                        
</GroupBox>
                        
<GroupBox
                            Header="Editacia"
                            Grid.Column
="1"
                            
>
                            
<StackPanel>
                                
<Button>Load</Button>
                                
<Button>Insert</Button>
                                
<Button>Update</Button>
                                
<Button>Delete</Button>
                            
</StackPanel>
                        
</GroupBox>
                    
</Grid>
                
</ScrollViewer>
            
</TabItem>
        
</TabControl>
    
</Grid>
</Window>



[Reakcia]

photo
Liero
9. 3. 2010 10:53:12
Body: 3100
Najaktívnejší č.: 11

RE: Resize WPF okna

odporucam sa pohrat aj s atributmi VerticalAligment a HorizontalAligment, ktore mozu mat hodnotu Stretch. Dalsia kontrola, ktora sa na to hodi je DockPanel, pozri si na nu nejake tutorialy. Ak chces mat napriklad grid, ktory bude na celu sirku okna, bude mat lavy a pravy stlpec s pevnou sirkou a stredny sa bude natahovat tak urob grid s HorizontalAligment="Stretch" a do ColumnDefinitions daj: <ColumnDefinition Width="200"> <ColumnDefinition Width="*"/> <ColumnDefinition Width="200"/>

[Reakcia]



Najaktívnejší užívatelia
1. 34435 b. photo vlko
2. 15930 b. photo T
3. 15330 b. photo spigi
4. 5885 b. photo dudok
5. 5510 b. photo slavof
6. 4935 b. photo siro
7. 4720 b. photo duracellko
8. 3625 b. photo jakub
9. 3490 b. photo lubolacko
10. 3340 b. photo skippo