2010-07-29 56 views

回答

1

我不记得在组合框中是否存在这样的属性,但是您始终可以更改默认控件模板。在你的情况下,你应该在控件模板中指定一个popup元素的width属性。下面是一个示例代码,从WPF主题之一,从Codeplex采取:

<ControlTemplate x:Key="ComboBoxTemplate" TargetType="{x:Type ComboBox}"> 
    ... 
     <Popup ... Width="100" > 
    ... 
</ControlTemplate> 

这是一个普遍的想法。您可以查看更多信息的主题源代码。这个MSDN页面也可以帮助:

+0

我尝试以下,但没有奏效。 <弹出宽度= “10000”/> 我也尝试过我的组合框xaml中的ControlTemplate部件,但它不起作用。你有任何工作代码与你或任何类似? – samar 2010-07-29 10:39:51

+0

您可以在主题文件(从codeplex)中搜索示例。在这里粘贴太大,只需打开一个主题文件,例如BureauBlue.xaml,然后搜索下面这行: n535 2010-07-29 10:49:45

+0

复制完整的控制模板(这会导致很多重复的代码,对吗?),你也可以从'ComboBox'派生一个子类,重载'OnApplyTemplate',检索名为'PART_Popup'的'Popup'实例并设置其'''宽度“属性,而将所有其他内容留给模板化组合框的人。 – 2012-09-17 11:58:02