【问题标题】:Do i have to implement all usercontrol properties by interface in WPF?我是否必须通过 WPF 中的接口实现所有用户控件属性?
【发布时间】:2016-04-27 14:51:20
【问题描述】:

我正在编写一组 WPF 用户控件(不是 CommonControls!),使用一个接口来处理对齐或内容等常见属性(取决于控件;TextBox 返回文本,并为每个示例标记内容)。 现在我开始使用像 Checkbox 这样的控件,它们具有不那么常见的属性 IsChecked。 我必须通过接口实现此属性还是允许在用户控件本身中对其进行编程?

【问题讨论】:

  • 您问的是 WPF 问题(简单回答:WPF 不关心您的界面),还是类层次结构设计问题?如果是后者,它将取决于您的设计的其余部分。接口的用途是什么?如果没有IsChecked 属性,它可以达到这个目的吗?取决于目的。

标签: c# wpf user-controls


【解决方案1】:

我希望您是在谈论将属性绑定到视图模型或直接在 xaml 本身中提及属性值。

这实际上取决于您的要求。当需要通过某些条件检查该属性然后进行设置时,我们通常将属性值绑定到视图模型或代码后面。如果您确定该属性的值,您可以在 xaml 本身中设置它。

例如,如果您想设置一个文本框的 IsEnabled 属性,并且您确定该文本框始终是可编辑的。然后在 xaml 本身中将其设置为 true。但是,如果您需要在处理事件期间启用文本框,请将其绑定到视图模型中的属性并在事件触发期间将其设置为 true。

【讨论】:

    【解决方案2】:

    好吧,我猜这是一个愚蠢的问题。 但八小时后,你不再知道你是希拉里还是唐纳德。

    答案是:一个接口可以从另一个接口继承并实现“父”接口的所有成员。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-20
      • 1970-01-01
      • 1970-01-01
      • 2011-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多