【问题标题】:WPF Content alignment problemWPF 内容对齐问题
【发布时间】:2010-11-09 05:28:38
【问题描述】:

这是几个小时以来引起我问题的代码:

        TabItem newTab = new TabItem();
        newTab.Header = source.Name;
        newTab.Content = source.GetGui();
        newTab.HorizontalContentAlignment = HorizontalAlignment.Stretch;
        newTab.VerticalContentAlignment = VerticalAlignment.Stretch;
        this.inputSourceDisplay.Items.Add(newTab);

输出是控件(来自 GetGui())正在显示,但在垂直中心和水平中心,但假设没有拉伸。

我该如何解决或者如何调试?

【问题讨论】:

    标签: c# .net wpf .net-3.5


    【解决方案1】:

    您的“GetGui()”方法返回什么?它是用户控件吗?默认情况下,UserControls 显式设置它们的 Width 和 Height 属性:

    <UserControl x:Class="WpfApplication1.UserControl1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Height="300" Width="300">
    

    明确设置高度和宽度后,UserControl 将不会响应 Horizo​​ntalContentAlignment 等属性。

    【讨论】:

    • 谢谢,我只是在你发布这篇文章的同时才知道。
    • 哈哈是的 - 秒杀我!哦,好的,感谢您的回答接受。
    【解决方案2】:

    在 WPF 中,如果用户控件具有默认宽度或高度,即使您使用 Enumeration 进行拉伸,用户控件也不会拉伸。

    解决方案是从 UserControl Xaml 中删除默认宽度和高度,并且控件的行为方式应为正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-02
      • 2011-05-06
      • 2015-06-21
      • 2012-12-07
      • 1970-01-01
      • 2017-08-21
      • 1970-01-01
      • 2014-05-23
      相关资源
      最近更新 更多