C1FlexGrid宽度(C1FlexGrid width)

2019-09-20 21:52发布

我开始使用的ComponentOne的C1FlexGrid我的WPF应用Caliburn.Micro。 我不知道如何可以与列的最大宽度内容的设置。 我试图让它自动,但宽度仍是对所有列相同。

我申请AutoSizeColumns是这样的:

      protected override void OnViewAttached(object view, object context)
  {
      var View = (FirstDataEntryView)view;
      View.EnrollmentFiles.AutoSizeColumns(0, 4, 5);
  }

但这并没有帮助...

谢谢

Answer 1:

使用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的后台代码。



文章来源: C1FlexGrid width