2012-02-07 81 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

希望它有助於