WPF XAML ComboBox宽度

时间:2010-05-06 01:26:26

标签: wpf xaml

我有以下xaml,删除了所有绑定;

<StackPanel Grid.Row="2" Grid.Column="1" Orientation="Horizontal" HorizontalAlignment="Left" Height="20">
  <ComboBox x:Name="ddlDay" Width="30"/>

如果我将组合框的宽度设置为200,则可以正常工作,但如果我将其设置为50则不会超出默认值。

我是xaml的新手,所以这是默认行为,或者我该怎么做才能使组合框变小?

1 个答案:

答案 0 :(得分:0)

我无法重现您描述的行为。我尝试了以下测试:

<Window x:Class="ComboWidthSample.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300">
    <Grid>
        <StackPanel Orientation="Horizontal" HorizontalAlignment="Left" Height="20">
            <ComboBox ItemsSource="{Binding}" Width="30" />
            <ComboBox ItemsSource="{Binding}" Width="50" />
            <ComboBox ItemsSource="{Binding}" Width="200" />
        </StackPanel>
    </Grid>
</Window>

using System.Linq;

namespace ComboWidthSample
{
    public partial class Window1
    {
        public Window1()
        {
            InitializeComponent();
            DataContext = Enumerable.Range(1, 10).Select(i => "My ComboBox Item " + i).ToList();
        }
    }
}

你做的不同吗?也许数据绑定到Width属性或样式化ComboBox?