Wie kann ich in XAML die Größe von Steuerelementen oder Teilen eines Bildschirms so ändern, wie die verschiedenen Bereiche wie Toolbox, Projektmappen-Explorer oder Fehlerliste in Visual Studio gepackt und in der Größe angepasst werden können?Benutzerdefinierbare WPF-Steuerelemente?
In diesem erfundenen Beispiel. . .
<Window x:Class="UI_Experiments_1.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">
<DockPanel x:Name="Tab3DockPanel" Background="#FFA0FFA0" LastChildFill="True">
<ScrollViewer DockPanel.Dock="Left" Background="Lavender">
<TextBlock Height="60" TextWrapping="Wrap" Background="#FFFFDDDD" Width="140">
ScrollViewer - DockPanel.Dock="Left"
</TextBlock>
</ScrollViewer>
<TextBlock DockPanel.Dock="Top" HorizontalAlignment="Center"
TextWrapping="Wrap" Background="LemonChiffon">
DockPanel.Dock="Top" HorizontalAlignment="Center"
</TextBlock>
<ListBox DockPanel.Dock="Right" Background="#FFCCEEFF">
ListBox DockPanel.Dock="Bottom"
</ListBox>
</DockPanel>
</Window>
. . . Ich habe ein DockPanel mit einer links angedockten ScrollView, einer unten angedockten ListBox und einem oberen Textblock. Gibt es eine Möglichkeit, Größenänderungs-Handles an diese anzuhängen, um den gleichen Effekt zu erzielen, oder gibt es ein anderes Steuerelement, in das diese eingebettet werden können? Wie ich bereits sagte, ist das Obige nur ein erfundenes Beispiel, mit dem man experimentieren kann - es ist mir egal, ob ich diese genauen Kontrollen verwende.
Ich habe ein Beispiel für das Hinzufügen von Größenanpassungen mit einem Adorner auf MSDN gefunden, aber es umfasste über 170 Zeilen C# -Code, also wollte ich sicher sein, dass es keine intrinsische Möglichkeit gab, dies in XAML zu erreichen.
Vielen Dank im Voraus.
Warum würden Sie die Breite der zweiten 'ColumnDefinition' auf auto einstellen? Dies bewirkt, dass der GridSplitter selbst in der Größe verändert werden kann. – DdW
@DdW Wirklich? Hast du das getestet? – Paparazzi
yep ... in Kombination mit dem '*' auf den anderen beiden, behält es die anderen beiden die gleiche Größe bei der Größenänderung des 'GridSplitter'. Mein Rat: Halten Sie die Breite fest (3 oder 5 Pixel oder so) auf dem 'GridSplitter' und seiner' ColumnDefinition' – DdW