如何获取xctk:DecimalUpDown的XAML源码并自定义MaterialDesign风格样式
搞定ExtendedWPFToolkit DecimalUpDown样式匹配MaterialDesign的问题
先找DecimalUpDown的XAML源码
- 从NuGet包反编译:装了
Extended.Wpf.Toolkit包后,去项目的NuGet缓存目录找到Extended.Wpf.Toolkit.dll,用ILSpy或者dotPeek这类反编译工具打开,定位到DecimalUpDown类,就能导出它的默认ControlTemplate XAML代码。 - 直接拿官方源码:ExtendedWPFToolkit的源码托管在GitHub仓库,克隆下来后,去
src/Xceed.Wpf.Toolkit/NumericUpDown/DecimalUpDown路径下,就能找到控件的原始模板和样式文件。
自定义样式的具体操作
- 导出默认模板:用反编译工具把
DecimalUpDown的默认ControlTemplate复制到你项目的资源字典里。 - 替换TextBox样式:找到模板里的
TextBox元素,把它的Style改成{StaticResource MaterialDesignFloatingHintTextBox}。 - 替换按钮样式:找到模板里的
PART_IncreaseButton和PART_DecreaseButton这两个按钮,把它们的Style设为{StaticResource MaterialDesignButton},顺便调整下按钮的大小、布局,适配MaterialDesign的风格。 - 应用自定义模板:要么给单个
xctk:DecimalUpDown控件设置Template属性指向你改好的模板,要么把这个自定义样式设为全局样式,让所有同类型控件自动套用。
提醒一句:模板里带PART_前缀的元素别乱改名字,不然控件的加减逻辑会失效。
内容的提问来源于stack exchange,提问作者Moha
相关产品推荐
相关产品推荐

