2012-02-07 53 views
0
<Grid> 
    <ComboBox Name="comboBox1" /> 
    <TextBox Name="TextBox1" /> 
</Grid> 

组合框在我的WPF应用程序,我想显示在组合框的文本框,但我不知道如何维护文本框大小,使其只涵盖组合框,而不是的盒部向下箭头组合框的一部分?文本框在WPF

like this

+1

使用自定义的ControlTemplate。 – SLaks 2012-02-07 05:08:21

+5

仅仅让组合框可编辑并完全跳过文本框不是有帮助吗? – warbio 2012-02-07 05:08:38

回答

2

你可以不喜欢它:

<Grid> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="119*" /> 
      <ColumnDefinition Width="17" /> 
     </Grid.ColumnDefinitions> 
     <ComboBox Height="23" HorizontalAlignment="Left" Name="comboBox1" VerticalAlignment="Top" Width="134" Grid.ColumnSpan="2" /> 
     <TextBox Name="textBox1" Margin="0,0,0,3" /> 
    </Grid> 

最关键的事情是到网格的第二列设置为一个固定的大小,那个固定大小代表箭头的可见性。

不过,像其他人所说的,做的最好的事情是组合框的IsEditable属性设置为true:

<ComboBox Name="combobox1" LostFocus="LostFocus" IsEditable="True"/> 

更多信息,请看这里:WPF ComboBox - IsEditable

0

我没有看到一个很好的理由来放置在组合框的文本框,组合框作为本身是可编辑的。

但是你可以做的是,把你的组合框分成两个gridcolums,后面的列是固定大小的,包括combobox的箭头部分和前一列是星号。让组合框有2 columnspan和文本框的1

希望它有助于