2016-08-08 2 views
0

Я пытаюсь поместить кнопку 10px с правого и нижнего угла. В Дизайнере кнопка находится около 10 пикселей от угла, но не в программе (это только 1px из угла, который выглядит немного плохо). Это ошибка в WPF?Как правильно разместить кнопку внизу или справа?

<Window x:Class="wpftest.test" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
     xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
     xmlns:local="clr-namespace:wpftest" mc:Ignorable="d" Title="test"    
     Height="300" Width="300"> 
    <Grid> 
     <Button x:Name="button" Content="Button" HorizontalAlignment="Left" Margin="207,239,0,0" VerticalAlignment="Top" Width="75" RenderTransformOrigin="-0.133,-0.75"/> 
    </Grid> 
</Window> 

this is how it looks in the program this is how it looks in the Designer

+0

Левое изображение - это вид в программе. Правильный вид в Visual Studio 2015 Designer –

+0

Пожалуйста, прочитайте [справку по форматированию] (http://stackoverflow.com/help/formatting). –

ответ

2

Вы настраиваете вашу кнопку на основе маржи. Попробуйте изменить свою кнопку ниже.

<Button x:Name="button" Content="Button" HorizontalAlignment="Right" VerticalAlignment="Bottom" Width="75" Margin="10"/> 
+0

Это швы для работы, но для этого требуется ручное редактирование кода XAML. –

+0

@ DennisR: Нет, это не так. Кроме того, вы все равно должны быть знакомы с этим. –

+0

Элементы управления перетаскиванием отлично. Но если вы хотите, чтобы ваши элементы управления были выровнены во время выполнения, вам нужно ознакомиться с Modification XAML. – AVK

0

При работе с полями всегда предпочтительной ближайшей стороной. здесь для вашей «правой стороны» как HorizontalAlignment и «Bottom Side» как VerticalAlignment как ближайший.

2

Вы обязательно захотите понять разметку xaml, если собираетесь использовать WPF или UWP. По моему опыту перетаскивание дизайнера редко дает вам то, что вы действительно хотите. Однако дизайнер и свойства сообщают вам, что именно происходит. Вы видели, что произойдет, если вы максимизируете свое окно во время выполнения? Кнопка не будет нигде внизу, в правом углу. Он всегда будет 207px слева и 239px сверху, как определено. Ниже приводится краткое описание.

  • Blue - объект ограничен расстоянием от этого края.
  • Красный - значение, с помощью которого объект ограничен.
  • Зеленый - объект не ограничен этим краем.

enter image description here

Если требование в том, что кнопка будет 10px от правого края и 10px от дна, можно определить, что, нажав на «ссылки» для ограничения, чтобы предполагаемые края ссылки (нажав на них, переключите их, чтобы «выключить» левый и верхний) и отрегулируйте значения. Вероятно, вы захотите избавиться от этого преобразования, которое дизайнер поставил для вас.

enter image description here

Смежные вопросы