Выравнивание WPF не работает - PullRequest
3 голосов
/ 04 апреля 2011

Я использую следующий код в своем приложении WPF для групповой коробки:

<GroupBox Style="{StaticResource groupBoxStyle}" Header="RB" Margin="0,6,268,249" Name="groupBoxRB" HorizontalAlignment="Right" VerticalAlignment="Stretch" Width="276">

Этот элемент управления находится в сетке, которая определяется следующим образом:

<TabControl Grid.Row="1" Margin="4,12,0,12" Name="tabControl1" Background="Transparent">
    <TabItem Style="{StaticResource tabItemMainStyle}" Header="Main" Name="tabItemMain" >
        <Grid Background="Transparent" MinHeight="926" MinWidth="1218">

И этоtabcontrol находится в основной сетке:

<Window x:Class="SRM.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:scm="clr-namespace:System.ComponentModel;assembly=WindowsBase"
        xmlns:local="clr-namespace:SRM" ResizeMode="CanResize"
        Title="SRM"
        Width="991" Icon="Resources\Icons\SRM.png"
        WindowStartupLocation="CenterScreen" mc:Ignorable="d" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" d:DesignHeight="1024" Height="774" Visibility="Visible" Foreground="#00000000" Margin="0">
    <Grid Style="{StaticResource styleBackground}">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*" />
            <ColumnDefinition Width="2.5" />
        </Grid.ColumnDefinitions>

Я не понимаю, почему упомянутый мною групповой ящик не растянется по вертикальной оси ... любая идея?

Спасибо.

PS: статические ресурсы не определяют высоты / ширины / выравнивания

Ответы [ 2 ]

1 голос
/ 27 августа 2011

Моя проблема возникла от дизайнеров (vs2010 или blend's), которые по умолчанию ставят поля, если вы помещаете в них элементы управления вручную ... Установка поля в 0 решает проблему:

<GroupBox Style="{StaticResource groupBoxStyle}" Header="RB" Margin="0" Name="groupBoxRB" HorizontalAlignment="Right" VerticalAlignment="Stretch" Width="276">
0 голосов
/ 04 апреля 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="350" Width="525">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*" />
            <ColumnDefinition Width="2.5" />
        </Grid.ColumnDefinitions>
        <TabControl Grid.Row="1" Margin="4,12,0,12" Name="tabControl1" Background="Transparent">
            <TabItem Header="Main" Name="tabItemMain" >
                <Grid Background="Transparent" MinHeight="200" MinWidth="200">
                    <GroupBox Header="RB" Name="groupBoxRB" HorizontalAlignment="Right" VerticalAlignment="Stretch" Width="276">
                        <Rectangle Fill="Orange" />
                    </GroupBox>
                </Grid>
            </TabItem>
        </TabControl>
    </Grid>
</Window>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...