我开始使用的ComponentOne的C1FlexGrid我的WPF应用Caliburn.Micro。 我不知道如何可以与列的最大宽度内容的设置。 我试图让它自动,但宽度仍是对所有列相同。
我申请AutoSizeColumns是这样的:
protected override void OnViewAttached(object view, object context)
{
var View = (FirstDataEntryView)view;
View.EnrollmentFiles.AutoSizeColumns(0, 4, 5);
}
但这并没有帮助...
谢谢
使用GridLength.Auto通常不会,因为虚拟化的这些列宽度工作。 FlexGrid的有几个方法来自动调整列,但列必须是可见的,否则将不被计算仍将是静态的宽度。 这里是如何做到这一点非常不值得生产的例子。 FWIW这就是为什么我从来不喜欢的ComponentOne控件 - 感觉就像他们被卡在WinForms的模式。
编辑:添加一些代码对CM特异的用法。
protected override void OnViewAttached(object view, object context) {
View = (YourViewType)view;
View.flexGrid.AutoSizeColumns(0,4,5);
}
至于是否从视图模型访问的观点是“兼容”与MVVM理论 - 在技术上不是这样,但有时你不得不使用,只是不能自动通过XAML配置的控制,你不能使用由于某种原因View的后台代码。