C# 我是xaml新手,对stackpanel和添加内容有疑问

C# 我是xaml新手,对stackpanel和添加内容有疑问,c#,xaml,custom-controls,stackpanel,C#,Xaml,Custom Controls,Stackpanel,我在xaml上的代码如下所示 </Grid> <Grid Grid.Column="1" Grid.Row="0" > <Grid.RowDefinitions> <RowDefinition Height="Auto" ></RowDefinition> <RowDefinition Height="Auto" ></RowDefiniti

我在xaml上的代码如下所示

   </Grid>
    <Grid Grid.Column="1" Grid.Row="0" >
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" ></RowDefinition>
            <RowDefinition Height="Auto" ></RowDefinition>
            <RowDefinition Height="*" ></RowDefinition>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*"></ColumnDefinition>
        </Grid.ColumnDefinitions>

        <Label Grid.Column="0" Grid.Row="0" HorizontalAlignment="Center" Content="Updates Avalable"></Label>

        <Button Name="btnUpdate" Grid.Column="0" Grid.Row="1" HorizontalAlignment="Center" MouseDoubleClick="btnUpdate_MouseDoubleClick" >Check For Available Updates</Button>
        <StackPanel Name="controlHolder" Grid.Column="0" Grid.Row="1">

        </StackPanel>
    </Grid>
            File_Type_Control_Green ftcg = ftc.GeneratefileTypeControl("file", "hello", "3mb", "someurl", "2-3-4");
        controlHolder.Children.Add(ftcg);
然而,当我这样做的时候,它会把它放在按钮里面

在windows窗体中,您只需将控件添加到面板中就可以了。没问题,但这似乎是wpf中的一个大问题。我不知道如何着手解决这个问题。有人能给我指出正确的方向吗

主要目标是将新控件动态添加到堆栈面板。我还没有这样做,但我会添加xy位置,以适当地隔开控件,假设您可以在面板中这样做


谢谢

按钮和StackPanel都填充了相同的网格单元格(grid.Column=“0”grid.Row=“1”)。StackPanel具有更高的Z索引,但默认情况下它具有透明背景,并且当它们重叠时,您可能无法从视觉上区分它们。也许您可以将按钮和StackPanel包装到另一个StackPanel中

<Grid Grid.Column="1" Grid.Row="0" >
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" ></RowDefinition>
        <RowDefinition Height="Auto" ></RowDefinition>
        <RowDefinition Height="*" ></RowDefinition>
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"></ColumnDefinition>
    </Grid.ColumnDefinitions>
    <Label Grid.Column="0" Grid.Row="0" HorizontalAlignment="Center" Content="Updates Avalable"></Label>
    <StackPanel Grid.Column="0" Grid.Row="1" Orientation="Vertical">
        <Button Name="btnUpdate" />
        <StackPanel Name="controlHolder" />
    </StackPanel>
</Grid>


按钮和StackPanel都填充了相同的网格单元格(grid.Column=“0”grid.Row=“1”)。StackPanel具有更高的Z索引,但默认情况下它具有透明背景,并且当它们重叠时,您可能无法从视觉上区分它们。也许您可以将按钮和StackPanel包装到另一个StackPanel中

<Grid Grid.Column="1" Grid.Row="0" >
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" ></RowDefinition>
        <RowDefinition Height="Auto" ></RowDefinition>
        <RowDefinition Height="*" ></RowDefinition>
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"></ColumnDefinition>
    </Grid.ColumnDefinitions>
    <Label Grid.Column="0" Grid.Row="0" HorizontalAlignment="Center" Content="Updates Avalable"></Label>
    <StackPanel Grid.Column="0" Grid.Row="1" Orientation="Vertical">
        <Button Name="btnUpdate" />
        <StackPanel Name="controlHolder" />
    </StackPanel>
</Grid>


按钮和StackPanel都填充了相同的网格列和行,因此您无法从视觉上区分它们,即使UserControl是StackPanel的子项。将它们放置在不同的网格单元中,或在stackpanel上设置背景色,以便您可以看到您的UserControl位于何处。。。。。。。。。。。。。。。。。。。。。。。。。。。。。这是其中的一天,是吗?按钮和StackPanel都填充了相同的网格列和行,所以你无法从视觉上区分它们,即使UserControl是StackPanel的子项。将它们放置在不同的网格单元中,或在stackpanel上设置背景色,以便您可以看到您的UserControl位于何处。。。。。。。。。。。。。。。。。。。。。。。。。。。。。这是其中的一天,是吗?谢谢。这是其中一天,我忽略了明显的再次感谢你。这是我再次忽视显而易见的事情的一天