Ширина разделов Telerik WPF RadGanttView

Мне нужно растянуть диаграмму и сетку в элементе управления Telerik WPF RadGanttView на всю ширину окна. Но ширина диаграммы все равно остается 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}"/>

Подскажите пожалуйста как увеличить реальную ширину на полное окно.


person user3536113    schedule 09.11.2015    source источник
comment
удалите маржу и попробуйте один раз.   -  person ReeganLourduraj    schedule 09.11.2015
comment
Проблема решена, пришлось использовать класс VisibleRange, о котором не сказано в документации Telerik.   -  person user3536113    schedule 10.11.2015


Ответы (2)


Чтобы предоставить немного больше информации для всех, кто имеет дело с этим...

  • По умолчанию RadGanttView отображает информацию только за 7 дней.
  • Это определяется как VisibleRange элемента управления
  • Часть TimeRuler элемента управления только расширяется, чтобы быть достаточно широкой, чтобы отобразить VisibleRange
  • Если VisibleRange шире доступной области отображения, вы можете прокручивать по горизонтали, как и ожидалось, и все выглядит хорошо.
  • Если VisibleRange уже, чем доступная область отображения, вы получите пустое пространство справа от части TimeRuler элемента управления, что выглядит особенно плохо, когда окно развернуто.

Чтобы часть TimeRuler элемента управления расширялась для использования доступной области отображения, вы должны установить для свойства VisibleRange элемента управления значение, достаточно высокое, чтобы выйти за пределы доступной области отображения (например, 30+ дней и т. д.).

Вы можете добавить свойство VisibleRange в свою модель представления и установить даты начала/окончания в конструкторе модели представления (или там, где это имеет смысл для вас):

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

Затем вы можете привязать свойство VisibleRange в RadGanttView к свойству VisibleRange, которое вы только что добавили в свою модель представления:

<telerik:RadGanttView x:Name="GanttView" TasksSource="{Binding Tasks}" VisibleRange="{Binding VisibleRange}" />
person John Laffoon    schedule 22.09.2016

Не уверен, что ответ все еще нужен здесь, поэтому я буду быстр: вам нужно изменить PixelLength. Это timeSpan, который вы хотите иметь равным количеству пикселей в правой части окна просмотра, деленному на длину вашего проекта.

person emiliegue    schedule 20.01.2020