Usercontrol не отображает его содержимое

Пока я пытался поэкспериментировать с пользовательскими элементами управления, я наткнулся на эту странную проблему, которая по какой-то причине, когда я добавляю пользовательский элемент управления в окно, просто отображает созданную мной границу, но не отображает внутри нее никакого содержимого. (поместил ли я это в пределах границы или сетки)

Вот как это выглядит в конструкторе:

Пользовательский конструктор управления

И вот как это выглядит в окне (в дизайнере и во время выполнения):

Дизайнер окон

Как видно, это не отображение кнопки, ни метки.

Пользовательский контроль:

    <Grid Background="{x:Null}">
        <Border BorderBrush="#FAF9F9" CornerRadius="20" Background="#FAF9F9">
            <Border.Effect>
                <DropShadowEffect Opacity="0.3" ShadowDepth="2" Direction="270"/>
            </Border.Effect>
            <Grid Background="{x:Null}">
                <Label Content="Label" HorizontalAlignment="Left" VerticalContentAlignment="Center" Margin="10,280,0,0" VerticalAlignment="Top" Height="47" Width="428" FontSize="25"/>
                <Button Content="+" HorizontalAlignment="Left" Margin="443,280,0,0" VerticalAlignment="Top" Width="47" Height="47" HorizontalContentAlignment="Center" Foreground="White" FontSize="40" FontWeight="Bold" RenderTransformOrigin="0.5,0.5" BorderBrush="{x:Null}">
                    <Button.Effect>
                        <DropShadowEffect Opacity="0.3" ShadowDepth="2" Direction="270"/>
                    </Button.Effect>
                    <Button.Template >
                        <ControlTemplate TargetType="Button" >
                            <Grid >
                                <Path Stretch="Uniform" UseLayoutRounding="False" Fill="#FFEA1E27">
                                    <Path.Data>
                                        <EllipseGeometry RadiusX="1" RadiusY="1"/>
                                    </Path.Data>
                                </Path>
                                <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
                            </Grid>
                        </ControlTemplate>
                    </Button.Template>
                </Button>
            </Grid>
        </Border>
    </Grid>

Всего 1 ответ


Похоже, фактический размер вашего элемента управления меньше, чем размер дизайна. Таким образом, метка и кнопка находятся за пределами видимой части элемента управления.

Попробуйте разместить Label и Button относительно нижнего правого и левого углов вместо верхнего левого.

<Label Content="Label" HorizontalAlignment="Left" Margin="10" VerticalContentAlignment="Center" VerticalAlignment="Bottom" Height="47" Width="428" FontSize="25"/>
<Button Content="+" HorizontalAlignment="Right" Margin="10" VerticalAlignment="Bottom" Width="47" Height="47" HorizontalContentAlignment="Center" Foreground="White" FontSize="40" FontWeight="Bold" RenderTransformOrigin="0.5,0.5" BorderBrush="{x:Null}">

Есть идеи?

10000