代码之家  ›  专栏  ›  技术社区  ›  griegs

“WPF XAML”组合框宽度

  •  0
  • griegs  · 技术社区  · 14 年前

    我已经删除了以下所有绑定的XAML;

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

    如果我将组合框的宽度设置为200,它会起作用,但是如果我将其设置为50,它的大小不会超过默认值。

    我对XAML有点陌生,所以这是默认行为还是应该如何使组合框变小?

    1 回复  |  直到 14 年前
        1
  •  0
  •   Joseph Sturtevant    14 年前

    我无法重现你所描述的行为。我做了以下测试:

    <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属性,或者设计组合框的样式?