我正在尝试弄清楚如何更改ComboBox控件的弹出部分。我对自定义样式和模板不是很熟悉。
我有一个定义的弹出窗口,如下所示:
<Popup
Name="Popup"
Placement="Bottom"
IsOpen="{TemplateBinding IsDropDownOpen}"
.....>
.... some content
</Popup>我知道ComboBox控件有一个名为"PART_Popup“的弹出窗口。如何用自己的实现替换默认实现?
谢谢
发布于 2011-05-23 07:12:03
你可以使用loaded事件并在后台代码中搜索该部分来替换它,这可能无法工作,因为并不是所有的part元素都是强制的。通常情况下,您需要复制现有模板并更改相关部分,您可以通过ComboBox.Template属性设置模板。
如果你只想设置样式,而不是显著地改变任何内容,你也可以对弹出窗口使用隐式样式。
默认模板可以在MSDN上找到:
WPF (“默认WPF主题。”链接)
Silverlight (各种子页面)
发布于 2011-05-23 18:43:34
在XamlpadX中,您可以单击样式按钮并选择组合框-显示了组合框的模板-将其复制到您的项目并进行实验。
http://blogs.msdn.com/b/llobo/archive/2008/08/25/xamlpadx-4-0.aspx
你也可以看看这里的控件风格:
http://msdn.microsoft.com/en-us/library/ms752094.aspx
和控件模板示例如下:
https://stackoverflow.com/questions/6091386
复制相似问题