<Grid>
<ComboBox Name="comboBox1" />
<TextBox Name="TextBox1" />
</Grid>
在我的wpf应用程序中,我想在组合框上显示一个文本框,但我不知道如何保持文本框大小,以便它只覆盖组合框的框部分,而不是组合框的向下箭头部分?
答案 0 :(得分: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
答案 1 :(得分:0)
我没有理由将文本框放在组合框上,因为组合框本身是可编辑的。
但你可以做的是,将你的组合框分成两个网格柱,后面的列是固定大小的,包括组合框的箭头部分和前一列的星形大小。让组合框的columnpan为2,文本框为1。
希望有所帮助