作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这个组合框
<ComboBox ItemsSource="{Binding Path=Foo.Bars}"/>
John Doe
Jane Mary
Josh
最佳答案
您可以做的是制作一个转换器,该转换器将返回您的对象属性的最长长度。您可以像这样实现转换器:
public class LongestListObjectToIntConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value is IEnumerable<FooBar>)
{
IEnumerable<FooBar> list = (IEnumerable<FooBar>)value;
return list.Max(bar => bar.FullName.Length);
}
// Default value to return
return 100;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
<Window.Resources>
<conv:LongestListObjectToIntConverter x:Key=converter/>
</Windows.Resources>
...
<ComboBox ItemsSource="{Binding Path=Foo.Bars}" Width="{Binding Path=Foo.Bars, Converter={StaticResource converter}}"/>
关于.net - 如何将组合框大小设置为其内容的最大宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7399405/
我是一名优秀的程序员,十分优秀!