样式化WPF / Silverlight ComboBox

时间:2011-05-22 22:58:23

标签: wpf silverlight xaml combobox styling

我正在试图弄清楚如何更改ComboBox控件的弹出部分。我对自定义样式和模板不是很熟悉。

我有一个定义的弹出窗口,如:

<Popup 
      Name="Popup"
      Placement="Bottom"
      IsOpen="{TemplateBinding IsDropDownOpen}"
      .....>
    .... some content
</Popup>

我知道ComboBox控件有一个名为“PART_Popup”的命名弹出窗口。如何用我自己的替换默认实现?

由于

2 个答案:

答案 0 :(得分:1)

您可以使用加载的事件并在后面的代码中搜索该部分来替换它可能不起作用,因为并非所有PART元素都是必需的。通常您会复制现有模板并更改相关部分,您可以通过ComboBox.Template属性设置模板。

如果您只想要设计样式,而不是明确地改变任何内容,您也可以使用隐式样式进行弹出。

可以在MSDN上找到默认模板:

WPF“默认WPF主题。”链接)
Silverlight(各个子页面)

答案 1 :(得分:0)

在XamlpadX中,您可以单击样式按钮并选择组合框 - 显示组合框的模板 - 将其复制到您的项目并进行实验。

http://blogs.msdn.com/b/llobo/archive/2008/08/25/xamlpadx-4-0.aspx

您还可以在这里查看控制风格:

http://msdn.microsoft.com/en-us/library/ms752094.aspx

和controltemplates示例:

http://archive.msdn.microsoft.com/wpfsamples