【问题标题】:Base class for custom controls自定义控件的基类
【发布时间】:2018-05-26 16:05:07
【问题描述】:

我知道这个问题有很多资料,但也有很多相互矛盾的答案,没有任何进一步的解释,让我很困惑。

我即将开始一个更大的 MVVM WPF 项目,其中还将包含一些自定义控件(视频编辑器,如时间滑块、色轮等)

为了学习实现自定义控件,我想我首先尝试创建一个简单的颜色选择器wheel。具有挑战性的部分显然是渲染颜色选择圈。根据我在 MSDN 上阅读的内容,我将从 Control 继承并一次为颜色选择圈渲染背景。

This project 继承自 Usercontrol 而不是 Control,但也将背景渲染为位图一次。

在这种情况下,继承自哪个正确的基类?

【问题讨论】:

    标签: c# wpf wpf-controls


    【解决方案1】:

    当您打算创建控件时,从 ControlItemsControl 继承。

    当您创建我们所谓的视图(您的屏幕)时,您使用 UserControlPage 作为基类。在 WPF 项目文件夹下(添加新项目时)有一个用于向项目添加自定义控件的现有模板,该模板将创建您需要的基础知识,在 Themes/Generic.xaml 中几乎为空的控件模板和一个派生自控制所需的初始化。

    请注意,如果您想扩展现有控件的功能,您也可以对它们进行子类化,但我宁愿在可能的情况下创建 behaviours(易于清洁且可重复使用)。

    希望对你有帮助,

    干杯,

    斯蒂安

    【讨论】:

      猜你喜欢
      • 2015-10-05
      • 2012-07-20
      • 2012-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-30
      相关资源
      最近更新 更多