2010-05-06 138 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(); 
     } 
    } 
} 

你在做的事情比有什麼不同?也許數據綁定到寬度屬性或樣式您的組合框?