【问题标题】:WPF (C#) Usercontrol remove elementsWPF (C#) 用户控件删除元素
【发布时间】:2021-11-26 22:03:18
【问题描述】:

我正在使用 WPF(C#) 中的 Usercontrol 制作模板。

但是,在应用此用户控件时,是否可以减去特定部分?例如,移除一个按钮?

【问题讨论】:

  • 隐藏多余的部分
  • 我怎样才能让它隐藏,我怎样才能让它发生?

标签: c# wpf user-controls


【解决方案1】:

要从 UserControl 中减去特定部分,可以使用可见性(折叠、隐藏)选项。 确保在 UserControl 中添加依赖属性以显示和隐藏特定部分。

【讨论】:

  • 我不认为向用户控件添加依赖属性来控制可见性是一个好建议。 WPF 是围绕 MVVM 构建的,MVVM 解决方案是通过绑定到视图模型来控制可见性。
  • @NigelBess 我不同意你的观点,用户控件必须公开必要的功能才能与之交互,..
  • 必要的功能已经通过绑定暴露了。无需通过为您想要控制的所有内容添加依赖属性来使事情复杂化。此外,您仍然需要访问依赖属性,无论哪种方式都应该通过绑定来完成
【解决方案2】:

听起来您只是想隐藏现有按钮,您应该通过将Visibility 设置为Visibility.CollapsedVisibility.Hidden 来做到这一点。这应该通过绑定到用户控件的 ViewModel 来完成。

如果您需要纯 XAML 解决方案:不,这样是不可能的。但是,反过来也是可能的:you can add content to a user control,它有效地提供了相同的功能。

您可以做的是制作一个不包含按钮的基本用户控件,而是有一个内容呈现器。第二个用户控件可以包装基本用户控件并将一个按钮定义为其内容。然后,当您不想将用户控件与按钮一起使用时,您可以简单地创建一个基本用户控件的实例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-04
    • 2019-03-27
    • 1970-01-01
    • 2015-06-13
    • 2011-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多