2010-07-29 75 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