Размер панели wpf xaml - PullRequest
       9

Размер панели wpf xaml

4 голосов
/ 13 апреля 2011

Я уверен, что есть простое объяснение, почему это происходит, но, похоже, не могу его найти. Из кода ниже, почему мои текстовые поля выходят за пределы окна? Я бы подумал, так как я установил их ширину равной размеру окна, чтобы они идеально выровнялись ... однако запустите это, и это явно не так. Что мне не хватает? Как правильно настроить ширину?

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="300" Width="200">
    <StackPanel Orientation="Horizontal">
        <TextBox Width="100">Hello</TextBox>
        <TextBox Width="100" TextAlignment="Right">World</TextBox>
    </StackPanel>
</Window>

1 Ответ

2 голосов
/ 13 апреля 2011

Ширина окна включает в себя такие вещи, как границы, а Высота включает в себя такие вещи, как заголовок.Таким образом, вы должны принять это во внимание при настройке ширины / высоты.Вы можете использовать параметр SizeToContent в Window, чтобы он соответствовал размерам TextBoxes.

Например:

<Window ... SizeToContent="Width"

Или вы можете заменить StackPanel на Grid длядать каждому TextBox половину доступной ширины окна:

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition />
        <ColumnDefinition />
    </Grid.ColumnDefinitions>

    <TextBox Grid.Column="0">Hello</TextBox>
    <TextBox Grid.Column="1" TextAlignment="Right">World</TextBox>
</Grid>
...