Lors de la création d'un UserControl dans WPF, je trouve ça pratique pour lui donner un certain arbitraire, la Hauteur et la Largeur, de sorte que je peux afficher mes modifications dans le concepteur Visual Studio. Quand je lance la commande, cependant, je veux la Hauteur et la Largeur d'être défini, de sorte que le contrôle doit s'étendre à remplir tout ce conteneur je le place dans. Comment puis-je réaliser cette même fonctionnalité sans avoir à retirer la Hauteur et la Largeur des valeurs avant la création de mon contrôle? (Ou sans l'aide de DockPanel dans le conteneur parent.)
Le code suivant illustre le problème:
<Window x:Class="ExampleApplication3.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:loc="clr-namespace:ExampleApplication3"
Title="Example" Height="600" Width="600">
<Grid Background="LightGray">
<loc:UserControl1 />
</Grid>
</Window>
La définition suivante de l' UserControl1
affiche raisonnablement au moment de la conception, mais s'affiche comme une taille fixe au moment de l'exécution:
<UserControl x:Class="ExampleApplication3.UserControl1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="300" Width="300">
<Grid Background="LightCyan" />
</UserControl>
La définition suivante de l' UserControl1
affiche comme un point au moment de la conception, mais s'agrandit pour remplir le parent Window1
au moment de l'exécution:
<UserControl x:Class="ExampleApplication3.UserControl1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid Background="LightCyan" />
</UserControl>