【问题标题】:Hide a table row in Telerik's RadRichTextBox在 Telerik 的 RadRichTextBox 中隐藏表格行
【发布时间】:2014-05-08 19:11:50
【问题描述】:

我目前正在使用 Telerik 的控件(特别是 RadRichTextBox)。

我们需要能够切换文档中表格的行可见性。

如果任何单元格中有内容,将TableRow.Height 设置为0 对行的实际视觉状态没有影响

我认为这很可能是因为内容有自己的高度,因此布局通道决定将行保持在相同的高度。

我找不到任何类型的可见性属性(自然),所以我对如何解决这个问题有点茫然。

我的团队提出的一种方法(我们都不喜欢)基本上是通过针对行/单元格的序列化标记对象来跟踪“最后已知的”格式信息,当折叠一行时,对所有内容都这样做,并且保留旧数据并重新补水以反转 - 这并不理想,因为这意味着每 cell 走一次 paragraph 然后再走一遍 spans

【问题讨论】:

    标签: c# wpf telerik


    【解决方案1】:

    它没有Visibility 属性,因为它不是FrameworkElement。您在FlowDocumentchildren 中操作的大多数控件都称为FrameworkContentElement

    TableRow.Height 设置为0 不是一个好主意,当您对文档使用序列化和反序列化时,它只会弄乱UI 的外观。

    在我看来,我要做的是为TableRows 创建attach properties,当用户toggles 隐藏TableRows 你清除所有TableCellsTableRow 并且当他们把它放回你'将只需要重新添加它。比走到每个单元格和每个段落都要好。

    【讨论】:

    • 如果您阅读该问题,您会发现它是 Telerik 控制套件及其文档系统,而不是普通的 WPF。
    • @Clint 投反对票,在Telerik control suite 下方,特别是RadRichTextBox 正在使用FrameworkContentElement。我知道我在说什么。免责声明:我一直在用 FlowDocumentsTelerik's Document system 做奇怪而有趣的事情
    • 您对附加属性的想法很有趣,您知道如何解决这个问题吗?我想删除反对票,但除非编辑答案,否则不会让我投票。代码示例/伪代码将不胜感激:)
    猜你喜欢
    • 2021-07-28
    • 1970-01-01
    • 1970-01-01
    • 2014-09-06
    • 1970-01-01
    • 1970-01-01
    • 2012-03-12
    • 2011-07-24
    相关资源
    最近更新 更多