首页 > 解决方案 > c# Expander 内容不在左边

问题描述

我有扩展器的内容不是从左边开始的问题,我该如何解决?正如你在图片上看到的,我的扩展器的内容没有显示在最左边。我尝试了很多设置,不幸的是我没有找到解决方案。扩展器本身似乎也有一个与堆栈面板相对的边缘,我也想避免这种情况。在扩展器上方,您可以看到一个网格,其中包含一个带有内容的文本块。该网格在更高级别的堆栈面板中具有正确的质量。

Expander exp = new Expander
        {
            Header = "TestExpander",
            Width = spStackPanel.Width,
            ExpandDirection = ExpandDirection.Down,
            IsExpanded = true,
            BorderBrush = Brushes.Yellow,
            BorderThickness = new Thickness(1),
            HorizontalAlignment = HorizontalAlignment.Left,
            HorizontalContentAlignment = HorizontalAlignment.Left,
            VerticalAlignment = VerticalAlignment.Top,
            VerticalContentAlignment = VerticalAlignment.Top,
        };

        TextBox tx = new TextBox
        {
            Text = "testText"
        };

        exp.Content = tx;

        spStackPanel.Children.Add(exp);

在此处输入图像描述

标签: c#wpfwpf-controlsexpandertextexpander

解决方案


对于这个有点模糊的答案,我无法评论,但它可能有助于分享用于创建屏幕截图的样式和 XAML。默认情况下,这不是扩展器的外观,所以我猜测您的样式或更高级别的控件之一(例如 StackPanel 或网格)正在影响扩展器的布局。

示例可能是 TextBox 应用填充和/或水平对齐的无键样式,然后通过在代码段中创建一个新的 TextBox 以使其具有奇怪的对齐方式,这将影响您添加的内容。


推荐阅读