Telerik WPF RadGanttView 部分宽度

Telerik WPF RadGanttView sections width

我需要在 Telerik WPF RadGanttView 控件中拉伸图表和网格以获得完整的 windows 宽度。但是图表宽度仍然是 336 个单位,网格是 105 个单位。没有 属性 影响它。代码是:

<telerik:RadGanttView Grid.Row="1"                  HorizontalAlignment="Stretch" Margin="8,0,6,20" VerticalAlignment="Stretch" 
             TasksSource="{Binding GanttTasks}" Background="{DynamicResource backgroundBrush}" BorderBrush="{DynamicResource BorderBrush}"/>

请告诉我如何将实际宽度增加到完整 window。

为处理此问题的其他人提供更多信息...

  • RadGanttView 默认只显示 7 天的信息
  • 这个定义为控件的VisibleRange
  • 控件的 TimeRuler 部分仅扩展到足以显示 VisibleRange
  • 如果 VisibleRange 比可用显示区域宽,您可以按预期水平滚动,一切看起来都不错
  • 如果 VisibleRange 比可用显示区域窄,您会在控件的 TimeRuler 部分右侧看到一个空白 space - 当 window 最大化

要使控件的 TimeRuler 部分扩展以使用可用的显示区域,您必须将控件上的 VisibleRange 属性 设置为足够高的值以超出可用展示区(例如 30+ 天等)

您可以将 VisibleRange 属性 添加到您的视图模型并在视图模型构造函数中设置 Start/End 日期(或任何对您有意义的地方):

VisibleRange = new VisibleRange
{
    Start = DateTime.Today,
    End = DateTime.Today.AddDays(60)
};

然后您可以将 RadGanttView 上的 VisibleRange 属性 绑定到您刚刚添加到视图模型的 VisibleRange 属性:

<telerik:RadGanttView x:Name="GanttView" TasksSource="{Binding Tasks}" VisibleRange="{Binding VisibleRange}" />

不确定这里是否还需要答案,所以我会尽快:您需要更改 PixelLength。您想要的时间跨度等于右侧部分视口中的像素数除以项目长度。