伊莱德文字
时间:2020-03-06 14:37:33 来源:igfitidea点击:
我有一个带有用户选择的目录路径的标签。当然,某些路径比其他路径更长。我在Label所在的控件上使用了Resizer,如果我可以对路径进行可变省略,则非常喜欢。
c:\非常\长\路径\到\ a \ filename.txt折叠到c:... \ filename.txt或者c:\非常... \ filename.txt。我们得到的图片更大,窗口提供了更多的信息,将其缩小,我们仍然可以获得路径的重要部分。如果我不需要自定义控件,我会喜欢的,但是我可以接受它。
WPF中的自定义文本包装似乎可以完成这项工作,但我希望有一些简单的方法。
编辑
抱歉,我想传达的是我希望选件根据Label的宽度而变化。
解决方案
我们提供的示例适用于非矩形容器。如果不需要,可以使用值转换器。如果它大于标签,则放置椭圆:
未经测试的示例:
class EllipsisConverter : IValueConverter { #region IValueConverter Members public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { string path = (string)value; if (path.Length > 100) { return path.Substring(0, 100) + "..."; }else{ return path; } } public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { throw new NotImplementedException(); } #endregion }