WPF内容对齐问题

时间:2009-07-09 00:05:10

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

以下是导致我问题的代码,因为几个小时:

        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())正在显示,但是在中心垂直和中心水平但是没有伸展到它想象。

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

2 个答案:

答案 0 :(得分:1)

你的“GetGui()”方法会返回什么?它是UserControl吗?默认情况下,UserControls显式设置其宽度和高度属性:

<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等属性。

答案 1 :(得分:0)

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

解决方案是从UserControl Xaml中删除默认的宽度和高度,控件的行为应该如此。