Wpf DatePicker 水印修改为中文

Posted 雨田博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Wpf DatePicker 水印修改为中文相关的知识,希望对你有一定的参考价值。

效果图:

技术分享

在App.cs添加如下代码:

        protected override void OnStartup(StartupEventArgs e)
        {
            base.OnStartup(e);
            EventManager.RegisterClassHandler(typeof(DatePicker),
                DatePicker.LoadedEvent,
                new RoutedEventHandler(DatePicker_Loaded));
        }


        public static T GetChildOfType<T>(DependencyObject depObj) where T : DependencyObject
        {
            if (depObj == null) return null;

            for (int i = 0; i < VisualTreeHelper.GetChildrenCount(depObj); i++)
            {
                var child = VisualTreeHelper.GetChild(depObj, i);

                var result = (child as T) ?? GetChildOfType<T>(child);
                if (result != null) return result;
            }
            return null;
        }

        void DatePicker_Loaded(object sender, RoutedEventArgs e)
        {
            var dp = sender as DatePicker;
            if (dp == null) return;

            var tb = GetChildOfType<DatePickerTextBox>(dp);
            if (tb == null) return;

            var wm = tb.Template.FindName("PART_Watermark", tb) as ContentControl;
            if (wm == null) return;

            wm.Content = "选择日期";
        }

 

以上是关于Wpf DatePicker 水印修改为中文的主要内容,如果未能解决你的问题,请参考以下文章

如何本地化 WPF 4.0 DatePicker 控件

WPF DatePicker Watermark 使用错误的语言,但日期格式正确

WPF 自定义控件并使用(例如带水印和字体图标的文本框)

使用WPF将图片转变为灰度并加上水印并保存为文件

将 WPF Toolkit 日期选择器的值重置为“默认”值

2021-08-14 WPF控件专题 DatePicker 控件详解