Comment désactiver le redimensionnement d'un UserControl dans WPF
Comment:
- Désactiver le redimensionnement pour cette usercontrol. En d'autres termes, lorsque l'utilisateur saisit les coins ou les côtés de cette usercontrol avec une souris, je ne veux pas que l'utilisateur puisse modifier la taille de l'objet usercontrol?
- Ou si il n'y a aucun moyen d'arrêter le redimensionnement alors comment puis-je autoriser uniquement le côté droit de l'objet usercontrol traîné?
<UserControl x:Class="MyEditor.MyDialog"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="152" d:DesignWidth="590" HorizontalContentAlignment="Right" MinWidth="{Binding ElementName=VariableType}" MinHeight="{Binding RelativeSource={RelativeSource Self}}">
<Grid Width="591" Height="147" MinWidth="{Binding ElementName=VariableTypeTextBox}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="137*" />
<ColumnDefinition Width="454*" MinWidth="250" />
</Grid.ColumnDefinitions>
<Button Content="Cancel" Height="23" Margin="0,94,7,0" Name="CancelButton" VerticalAlignment="Top" Click="CancelButton_Click" Grid.Column="1" HorizontalAlignment="Right" Width="75" HorizontalContentAlignment="Center" VerticalContentAlignment="Top" />
<Button Content="Create" Height="23" Margin="0,94,108,0" Name="CreateButton" VerticalAlignment="Top" Click="CreateButton_Click" Grid.Column="1" HorizontalAlignment="Right" Width="75" HorizontalContentAlignment="Center" VerticalContentAlignment="Top" />
<Label Content="Variable Name " Height="28" Margin="0,12,29,0" Name="VariableName" VerticalAlignment="Top" HorizontalAlignment="Right" Width="96" Target="{Binding}" HorizontalContentAlignment="Right" />
<TextBox Height="29" Margin="0,11,7,0" Name="VarNameTextBox" VerticalAlignment="Top" KeyDown="OnKeyDownHandler" MouseLeave="MouseLeaveHandler" LostFocus="LostFocusHandler" Grid.Column="1" HorizontalAlignment="Stretch" />
<Label Content="Variable Type" Height="28" Margin="0,0,29,73" Name="VariableType" VerticalAlignment="Bottom" HorizontalContentAlignment="Right" HorizontalAlignment="Right" Width="96" />
<TextBox Height="23" Margin="0,51,7,0" Name="VariableTypeTextBox" VerticalAlignment="Top" IsReadOnly="True" Background="Silver" Foreground="Black" Grid.Column="1" HorizontalAlignment="Stretch" Width="AUTO" />
</Grid>
source d'informationauteur user1298925 | 2013-10-28
Vous devez vous connecter pour publier un commentaire.
Vous avez collé le code XAML pour un
UserControl
mais votre question est une question sur uneWindow
. Ainsi, vous aurez besoin de placer votre UserControl à l'intérieur d'une Fenêtre qui est configuré pour ne pas autoriser le redimensionnement.Une Fenêtre WPF a un ResizeMode de la propriété, qui peut être l'un des suivants:
Vous voulez NoResize.
Exemple:
Veuillez voir le la documentation pour plus de détails.
Il suffit de régler la MinWidth/MaxWidth et MinHeight/MaxHeight propriétés de votre valeur requise.
Pour La Désactivation : ResizeMode="CanMinimize"