Pourquoi est-ce bouton couper?
Dans le code XAML suivant le texte du bouton est moitié manquante. Je peux changer le Margin
de la propriété, et il devient évident qu'après 250px le contenu est caché. Pourquoi est-ce, et comment puis-je résoudre ce problème?
<Window x:Class="InnerInterface.InventoryManagement" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="someWindow" Height="500" Width="500">
<DockPanel HorizontalAlignment="Left" Name="dockPanel1" VerticalAlignment="Top">
<Grid DockPanel.Dock="Top">
<Button Name="buttonReturnToMainMenu" Content="someButton" Margin="200,0" Width="125" />
</Grid>
</DockPanel>
</Window>
OriginalL'auteur dotancohen | 2012-03-07
Vous devez vous connecter pour publier un commentaire.
Vous avez une marge horizontale de 200, et un bouton de largeur de 125, ce qui signifie que la largeur totale nécessaire pour afficher le contrôle correctement est d'environ 525.
Vous avez également
HorizontalAlignment=Left"
sur votreDockPanel
, ce qui signifie qu'il va dessiner le contenu quel que soit la largeur il a besoin et d'aligner le côté gauche de l'écran au lieu de l'étirer pour remplir tout l'espace disponible. Cela signifie qu'il est le blocage d'un espace de 200 de chaque côté de la commande, et le dessin du bouton dans le reste de l'espace. Si cela reste de l'espace est de moins de 125, l'image sera rognée.Si vous passez à
HorizontalAlignment="Stretch"
, puis il va dessiner le contrôle de la première (avec les marges), puis de l'étirer la taille de sorte qu'il s'adapte à tout l'espace disponible, de sorte que le contrôle entier est redimensionnée plutôt que de rogner.Vous pourriez être intéressé par la lecture cet article MSDN sur l'Alignement, les Marges et Padding en WPF.
Modifier
Si vous voulez seulement la
Left
de la marge de 200, puis utilisezMargin="200,0,0,0"
. À l'aide deMargin="200,0"
signifie que la gauche et la droite Marges sera de 200.HorizontalAlignment="Left"
le bouton n'aide pas. En fait, c'était déjà dans mon code de travail, mais je l'ai retiré de la question de la réduire à la plus simple des cas. Je peux aussi déplacer le bouton vers la gauche avecMargin
et l'ensemble de bouton de la montre. En outre, d'autres (plus large) contrôles (zones de texte) dans le même lieu ne montrent toute leur largeur.Re-lire le 3ème paragraphe: Si vous passez à
HorizontalAlignement="Stretch"
sur votreDockPanel
, puis il va dessiner le contrôle de la première et de la redimensionner horizontalement pour s'adapter à votre espace disponible, au lieu de recadrage.Merci, Rachel. J'ai essayer d'ajouter
HorizontalAlignement="Stretch"
à laDockPanel
, malheureusement, ce n'était pas la question et ne permet pas de résoudre le problème. Il s'avère que le problème était que leMargin
propriété a été définie pour les deux parties, l'évolution vers la gauche seulement résolu le problème, comme vous le mentionnez dans l'édition. J'apprécie votre aide et de votre suivi!OriginalL'auteur Rachel
Pas vraiment sûr de votre problème exact, mais peut-être cela devrait vous aider:
Vous dites que vous avez besoin de déplacer le bouton plus de 200 pixels, mais vous êtes également l'intention de mettre un 200 de la marge sur le côté droit aussi? Ou devriez-vous être l'aide d'
"200, 0, 0, 0"
que votre marge?Marquer, il semble que vous et j'ai posté la réponse ensemble, et Rachel est venu à la même conclusion, à seulement quelques minutes plus tard. Merci de poster votre commentaire est une réponse afin que je puisse l'accepter, comme vous avez été la première affiche de le mentionner. Merci!
Rachel a obtenu le concept couverts dans son poste, et il a beaucoup plus de détails, y compris POURQUOI les marges sont mauvais et Comment ils sont calculés que je suis enclin à écrire. Je vote pour marquer le sien comme la réponse.
Va le faire, merci!
OriginalL'auteur NestorArturo
Le problème est que le bouton
Margin
est défini comme:Il doit être défini comme suit:
Ceci élimine la marge sur le côté droit et permet à l'ensemble de bouton pour afficher l'.
OriginalL'auteur dotancohen