【发布时间】:2023-11-28 23:57:01
【问题描述】:
在我们的 Silverlight 页面中,我得到了具有不同值的组合框。选中后,某些值太长而无法放入折叠的组合框中。
我希望它省略(“系统使用...”末尾有三个点)。
在下拉列表中可以看到值的全名,但折叠时我希望所选值省略。感觉很明显,因为下拉菜单通常比折叠控件提供更多空间,但我仍然找不到明显的方法来做到这一点。
【问题讨论】:
标签: silverlight combobox truncate
在我们的 Silverlight 页面中,我得到了具有不同值的组合框。选中后,某些值太长而无法放入折叠的组合框中。
我希望它省略(“系统使用...”末尾有三个点)。
在下拉列表中可以看到值的全名,但折叠时我希望所选值省略。感觉很明显,因为下拉菜单通常比折叠控件提供更多空间,但我仍然找不到明显的方法来做到这一点。
【问题讨论】:
标签: silverlight combobox truncate
您可能想看看http://www.codeproject.com/Articles/37503/Auto-Ellipsis。 它类似于 Zenexar 的建议,在一般情况下使用更有效的归约算法。但它也写了其他类型的“省略”,也许也可以满足您的需求。
【讨论】:
获取选定的 UIElement。将 RenderedWidth 和 RenderedHeight 与 DesiredSize 进行比较,后者将根据元素的截断方式进行调整。反复删除字符,追加省略号,使布局失效,直到DesiredSize小于等于RenderedWidth/RenderedHeight
【讨论】:
我认为最好的方法是检查所选项目的长度。如果长度超过预定的字符长度,则截断其余部分并附加三个句点。
【讨论】: