gpt4 book ai didi

c# - WPF:创建 UserControl 还是 CustomControl?

转载 作者:行者123 更新时间:2023-11-30 20:41:26 24 4
gpt4 key购买 nike

我不太清楚何时使用 CustomControl 以及何时使用 UserControl。我基本上知道 CustomControl 允许什么(与模板一起使用时更多自定义)。

我想在 WPF 中制作一个“文件浏览”控件(显示当前路径的 TextBlock + 触发“打开文件对话框”的按钮)。

我不确定,因为在某些地方我发现他们说这应该始终“替换”WPF 控件。我更认为 CustomControl 更像是一种显示和编辑一个新语义值(在我的例子中是“文件(路径)”)的方式。

那么,如果我们不考虑哪一个更容易做,对于我所说的“FileBrowse”控件,CustomControl 和 UserControl 之间哪个更合适?

谢谢

最佳答案

自定义控件:

  • 松散耦合的控件 w.r.t 代码和 UI
  • 从控件派生
  • 在 ResourceDictionary 中定义 UI
  • UI 可以在不同的项目中更改
  • 拥有完整的工具箱支持
  • 定义单个控件
  • 更灵活

用户控制:

  • 紧密耦合的控件 w.r.t 代码和 UI
  • 派生自用户控件
  • 将 UI 定义为普通 XAML
  • UI 是固定的,不能在不同的项目中有不同的外观
  • 无法添加到工具箱
  • 定义一组控件
  • 不像自定义控件那么灵活

当我们谈论差异时,更重要的是要强调上下文何时使用什么:

  • 当您的 UI 中有快速且固定的内容时,请使用 UserControl。
  • 如果您想将主视图的一些基本功能分成一些可重用的较小部分,请使用 UserControl。
  • 当您想在不同的项目中使用您的控件并且每个项目都可能想要更改外观时,请使用 CustomControl。
  • 当您想为控件实现一些附加功能时,创建一个从基本控件派生的 CustomControl。
  • 如果您想将主题应用到您的控件,请使用 CustomControl。
  • 如果您想为您的控件添加工具箱支持,以便您的用户能够对设计器进行拖放操作,请使用 CustomControl。

关于c# - WPF:创建 UserControl 还是 CustomControl?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32372173/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com