2010-05-06 77 views
0

我有以下xaml与所有绑定删除;WPF XAML组合框宽度

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

如果我设置了组合框200它的工作原理的宽度,但如果我将它设置为50它没有大小过去的默认。

我有点新的XAML所以这是默认的行为或者我该怎么做才能让组合框小?

回答

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(); 
     } 
    } 
} 

你在做的事情比有什么不同?也许数据绑定到宽度属性或样式您的组合框?