wpf combox 在哪里设置下拉框的宽度和高度

条目里面东西非常多,结果导致下拉时横向铺满屏幕了,怎么给他限制到和控件一样宽?还有高度加一点?... 条目里面东西非常多,结果导致下拉时横向铺满屏幕了,怎么给他限制到和控件一样宽?
还有高度加一点?
展开
 我来答
Mickal小米
2013-09-12 · TA获得超过3666个赞
知道大有可为答主
回答量:1542
采纳率:100%
帮助的人:1778万
展开全部

指正和补充一楼:

  1. ComboBox只有ItemTemplate,而不是ItemsTemplate

  2. DataTemplate里的TextBlock的Width跟ComboBox的width设为相同就可以了。

    如果ComboBox的宽度自适应,那么就在它的sizeChanged事件里去改TextBlock的宽度了。

    会用到VisualTree,网上可以查下。

  3. 设置高度用MaxDropDownHeight就可以控制下拉框的最长拉的距离了。

 <ComboBox Width="100" Height="23" x:Name="cb" MaxDropDownHeight="150">
            <ComboBox.ItemTemplate>
                <DataTemplate>
                    <TextBlock Text="{Binding}" TextWrapping="Wrap"  Width="150"/>
                </DataTemplate>
            </ComboBox.ItemTemplate>
        </ComboBox>

lordofbai_du
2013-09-11 · TA获得超过183个赞
知道小有建树答主
回答量:378
采纳率:100%
帮助的人:262万
展开全部
combox是itemscontrol,横向满屏的话,你需要重新定义itemstemplate,使用textblokc来显示项文波,然后定义textblock的宽度,提示,是否换行,是否省略等。

<ComboBox>
<ComboBox.ItemsTemplate>
<DataTemplate>
<TextBlock Text="{Bingding}" ...../>这里就可以通过各种content控件,设置相应的样式来控制你的项的展示效果,
</DataTemplate>
</ComboBox.ItemsTemplate>
</ComboBox>

高度这个好好像MaxDropDownHeight这个来控制吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Mercury108
2013-09-12 · TA获得超过237个赞
知道答主
回答量:366
采纳率:0%
帮助的人:110万
展开全部
<ComboBoxItem Height=" " Width=" "/>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式