C# wpf 如何实现自定义控件,布局时,大小发生变化,内部绘制的曲线跟随变化?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# wpf 如何实现自定义控件,布局时,大小发生变化,内部绘制的曲线跟随变化?相关的知识,希望对你有一定的参考价值。

自己制作了一个仪表盘控件,刻度使用 自定义方法DrawScale()实现,获取当前的布局grid尺寸,然后依据此尺寸,绘制表盘刻度,出现的问题是,当布局时调整表盘控件的大小时,必须编译一次,刻度才会更新过来,否则保持不变,如何能实现,用户调整表盘控件布局时,表盘刻度实时更新。表盘的外壳使用xaml实现,布局时,能够实现 实时跟随表盘控件尺寸变化而变化,刻度用代码实现的,就做不到了。怎么能做到哪?

参考技术A public class TextBoxEx : TextBox static TextBoxEx() DefaultStyleKeyProperty.OverrideMetadata(typeof(TextBoxEx), new FrameworkPropertyMetadata(typeof(TextBoxEx))); HelpTextProperty = DependencyProperty.Register("HelpText", typeof(string), typeof(TextBoxEx), new FrameworkPropertyMetadata("请您输入..", new PropertyChangedCallback(OnHelpTextChanged))); public static DependencyProperty HelpTextProperty; public string HelpText get return (string)GetValue(HelpTextProperty); set SetValue(HelpTextProperty, value); private static void OnHelpTextChanged(DependencyObject sender, DependencyPropertyChangedEventArgs e) 追问

你这个回答,对得起你的职业吗?

参考技术B 重写控件的OnRender函数

以上是关于C# wpf 如何实现自定义控件,布局时,大小发生变化,内部绘制的曲线跟随变化?的主要内容,如果未能解决你的问题,请参考以下文章

C# wpf 想让控件随着窗口大小变化而变化

[原创]c# wpf自定义 任意颜色阴影特效融合winform的探索之路

C#中如何实现WPF调用Winform中用户自定义的控件呢?

在 WPF C# 中无法访问用户控件的自定义属性

如何从自定义用户控件 WPF、C# 中的枚举自定义属性中获取值?

C# WinForm 自定义控件如何实现动态添加子控件