Я пытаюсь создать своего рода границу из прямоугольников и внутри нее метку и некоторые декораторы пули. Мне нужно поместить их в определенную строку и столбец сетки и вверху.

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition Height="*" />
    </Grid.RowDefinitions>                
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*" />
        <ColumnDefinition Width="150" />                    
    </Grid.ColumnDefinitions>

<!-- other controls in grid -->

<DockPanel Grid.Row="1" Grid.Column="1">
    <Grid>
        <Rectangle Width="120" Height="80" Fill="LightYellow" Stroke="Orange" StrokeThickness="2" RadiusX="8" RadiusY="8"/>
        <Rectangle Width="120" Height="80" Fill="Transparent" Stroke="Orange" StrokeThickness="2" RadiusX="8" RadiusY="8">
            <Rectangle.Effect>
                <DropShadowEffect ShadowDepth="0" BlurRadius="15" Color="Orange"/>
            </Rectangle.Effect>
            <Rectangle.Clip>
                <RectangleGeometry Rect="0,0,400,80" RadiusX="8" RadiusY="8"/>
            </Rectangle.Clip>
        </Rectangle>
        <Grid>
            <Label Content="Legend:"/>
            <BulletDecorator Margin="5,20,0,0" VerticalAlignment="Top"  >
                <BulletDecorator.Bullet>
                    <Ellipse Height="8" Width="8" Fill="Blue"/>
                </BulletDecorator.Bullet>
                <TextBox TextWrapping="Wrap"  Background="Transparent" Text="100 : Manager" BorderThickness="0" />
            </BulletDecorator>
            <BulletDecorator Margin="5,40,0,0" VerticalAlignment="Top" >
                <BulletDecorator.Bullet>
                    <Ellipse Height="8" Width="8" Fill="Blue"/>
                </BulletDecorator.Bullet>
                <TextBox TextWrapping="Wrap" Background="Transparent" Text="200: Others" BorderThickness="0" />
            </BulletDecorator>
        </Grid>
    </Grid>
</DockPanel>
</Grid>

Декораторы меток и маркеров помещаются в верхнюю часть строки и столбца сетки (1,1), но граница из прямоугольников не выполняется. Что я делаю неправильно? Док-панель кажется правильно заполняет все пространство в сетке (строка = 1, столбец = 1).

1
Ralph 27 Июл 2017 в 13:24

1 ответ

Лучший ответ

Вам нужно установить вертикальное выравнивание для прямоугольников, чтобы они были сверху, чтобы они соответствовали декораторам Bullet.

2
Dave England 27 Июл 2017 в 13:33