Hallo,
ich experimentiere gerade ein wenig mit WPF rum und möchte nun eine Page in ein Frame einblenden.
Im einzigen Fenster des Projektes habe ich folgenden Frame:
XML-Daten
1:
| <Frame Grid.Column="1" Grid.Row="1" Margin="0.711,0,0,0" Name="FrameWorkarea" Grid.RowSpan="2" Navigated="frame1_Navigated" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" Background="Khaki" BorderBrush="Cyan" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" /> |
in dieses Frame Blende ich diese Page ein:
XML-Daten
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:
| <Page x:Class="MyApp.MyPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="My Page" Height="305" Name="page_mypage" MinWidth="300" MinHeight="200" Background="Bisque"> <Grid Name="grid1" Width="466" Height="364" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"> <Grid.ColumnDefinitions> <ColumnDefinition Width="67" /> <ColumnDefinition Width="386*" /> <ColumnDefinition Width="13" /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="40" /> <RowDefinition Height="323*" /> </Grid.RowDefinitions> <TextBlock Name="textBlock1" Text="" VerticalAlignment="Stretch" Background="Firebrick" OpacityMask="Firebrick" FontSize="15" Grid.ColumnSpan="3"> <Label Padding="10" Foreground="Brown"><Label.BitmapEffect><OuterGlowBitmapEffect GlowColor="Gold" /></Label.BitmapEffect>Header Text</Label> <TextBlock.BitmapEffect> <DropShadowBitmapEffect /> </TextBlock.BitmapEffect> </TextBlock> <Label Grid.Row="1" Height="26" Margin="9,15,0,0" Name="label1" VerticalAlignment="Top" HorizontalAlignment="Left" Width="59" Grid.ColumnSpan="2">Text</Label> <TextBox Grid.Row="1" Height="23" Margin="0,17,0,0" Name="textBox1" VerticalAlignment="Top" Grid.Column="1" /> </Grid> </Page> |
Das mach mit diesen Zeilen:
C#-Quelltext
1: 2:
| MyApp.MyPage ActPage = new MyApp.MyPage(); FrameWorkarea.Navigate(ActPage); |
Im großen und ganzen funktioniert das auch, allerdings passt sich die Pagegröße leier nicht der Framegröße an. Aufgrund der Hintergrundfarben lässt sich erkennen, das sich die Pagebreite an die Framebreite anpasst, der enthaltene Textblock aber nicht dran denkt dies auch zu tun. Die höhe des der Page bleibt wie designet und das ganze richtet sich schön Mittig im Frame aus, ich hätte es aber gerne füllend.
Da ich wie gesagt noch im Experimentierstadium bin und mich von der Vielzahl der Einstellmöglichkeiten noch ziemlich überwältigt fühle hoffe ich das ihr mir helfen könnt das ganze so hin zu bekommen wie ich es mir wünsche und das sit einfach nur, das die Page Framefüllend erscheint und sich gerne noch der Textblock der entsprechenden Breite anpasst (aber da kann ich auch noch selber experimentieren
).
Gruß
Klabautermann