【问题标题】:XAML based on Conditions (IF/Then View)基于条件的 XAML(IF/Then 视图)
【发布时间】:2017-07-18 19:34:56
【问题描述】:

所以我正在尝试构建一个可能有也可能没有子级的用户控件。我知道 C#,但仍然学习了很多关于 XAML 方面的知识。

我想做的是这样的:

如果 Children.Count > 0 然后创建 TreeView ELSE 创建标签

我知道如何创建单个视图,但我不知道如何根据这样的条件创建视图。感谢您的帮助!

【问题讨论】:

  • 使用样式和触发器。
  • 你能发布你的实际代码吗?
  • 我只是在寻找某种方法来“如果收藏有孩子绘制这个状态”,如果不是“绘制这个状态”。我认为这是过度思考的情况:)。看看在 Xaml 中执行此操作的正确和实用方法是什么。

标签: c# wpf xaml


【解决方案1】:

“无代码问题”会得到“无代码答案”的奖励;o)

在您的“用户控件”中放置一个树视图 把你的标签放在你的“用户控件”中

将两者的 Visibility 属性绑定到您的 Collection 持有您的“孩子”。

创建两个不同的(或一个参数化的)IValueConverter-Implementing-Converter 并将其用作绑定中的“Converter=....”。

当您的孩子少于两个时,让第一个转换器返回 Visibility.Hidden,当您有零个或一个孩子时,让第二个转换器返回 Visibility.Hidden。

将正确的转换器放置到您的每个绑定中,这样当您的集合中有多个孩子时,标签会被隐藏,如果集合中的孩子少于两个,则树视图会被隐藏。

重新考虑为此构建一个完整的“用户控件”...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-13
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多