【问题标题】:XAML UserControl grid elements not shownXAML UserControl 网格元素未显示
【发布时间】:2012-05-06 09:57:28
【问题描述】:

仍未解决:

我有以下问题:

我有一个如下所示的用户控件:

<UserControl x:Class="UserControlSettings"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">    
<Grid x:Name="mainGrid" ShowGridLines="True">
    <Grid.ColumnDefinitions>
        <ColumnDefinition/>
        <ColumnDefinition/>
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition Height="50" />
        <RowDefinition Height="50" />
        <RowDefinition Height="50" />
    </Grid.RowDefinitions>
    <TextBlock Grid.Row="0" Grid.Column="0" FontSize="20">Test</TextBlock>
    <Button Grid.Row="1" Grid.Column="0">Click</Button>
</Grid>

在设计器预览窗口中看起来还不错。我看到了网格线、文本块和按钮。

当我将它嵌入到窗口中时,我只看到网格线,看不到文本或按钮。 UserControl嵌入如下:

<Window x:Class="Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:my="clr-namespace:APP.NET"                    
Title="Window1" Height="300" Width="300">
<Grid>
    <my:UserControlSettings x:Name="controlSettings"/>
</Grid>
</Window>

感谢任何帮助。

【问题讨论】:

    标签: .net xaml


    【解决方案1】:

    您的代码对我来说绝对没问题。 这是所有的代码吗?你确定你没有在代码隐藏中操作控件吗?

    您发布的 XAML 没有任何问题,可以使其行为与您描述的一样。所以它可能受到其他一些代码的影响。

    【讨论】:

      【解决方案2】:

      仅供参考,您的行和列定义是相反的。当您只定义一个时,您试图使用两行。

      【讨论】:

      • 对不起,我实际上有更多行,我在粘贴代码之前剥离了太多行。它实际上是:
      【解决方案3】:

      除了混合的行/列设置之外,其他一切看起来都与您发布的内容一样,但没有看到其他 UserControl 的 XAML,我怀疑它的大小可能会占用窗口的整个 300x300 区域。由于 controlSettingsPanel 是添加到 DockPanel 的第一个项目,因此它将根据需要获得尽可能多的空间。因此,如果它占据了窗口的整个宽度,则不会显示另一个。

      【讨论】:

      • 但我确实看到了网格线,这意味着单元格在那里并且大小不为零。只是没有显示 TextBlock 和 Button。还制作了更简单的容器窗口,我只需在其中添加一个用户控件 ()。同样的事情,我只看到网格线。
      猜你喜欢
      • 2020-09-14
      • 1970-01-01
      • 1970-01-01
      • 2021-05-06
      • 1970-01-01
      • 2019-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多