以下是导致我问题的代码,因为几个小时:
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())正在显示,但是在中心垂直和中心水平但是没有伸展到它想象。
我该如何解决?或者我该如何调试?
答案 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将不响应HorizontalContentAlignment等属性。
答案 1 :(得分:0)
在WPF中,如果用户控件具有默认宽度或高度,即使使用Enumeration进行拉伸,用户控件也不会拉伸。
解决方案是从UserControl Xaml中删除默认的宽度和高度,控件的行为应该如此。