2009-09-23 3 views
1

У кого-нибудь есть хорошие указатели на создание пользовательской шкалы Silverlight ?! Фактически, это даже не должно быть таковым, у меня есть таблица базы данных, и каждый объект в этой таблице имеет поле datetime, называемое «CreateDate». Я хочу использовать это поле для сборки временной шкалы, показывая другие соответствующие поля в каждой конкретной точке CreateDate ........C# Silverlight - построение временной шкалы?

Любые советы? совет? Помогите? образцы?

Приветствия

ответ

2

Реализовать свою собственную панель Timeline. Это довольно легко!

Панели позволяют полностью управлять планированием своих детей. Например, элемент ItemsControl предоставляет свойство ItemsPanel, которое имеет тип ItemsPanelTemplate. По умолчанию этот элемент ItemsPanelTemplate содержит вертикальную StackPanel, но может быть переопределен вашей удивительной панелью Timeline. Ключом к любой временной шкале является координата x.

Используя код ниже, чтобы подсчитать вашу координату x, выполните в половине битвы. После этого это просто вопрос определения перекрытия, чтобы вы могли правильно складывать свои элементы на временной шкале.

Ускоритель Silverlight от Avanade имеет как контроль временной шкалы, так и элемент управления StackCalendar (думаю, диаграмма Гантта), которые работают очень хорошо.

public double ScaleDate(DateTime date) 
    { 
     TimeSpan span = this.StopDate - this.StartDate; 
     TimeSpan pos = date - this.StartDate; 

     double posDays = double.Parse(pos.Days.ToString()); 
     double spanDays = double.Parse(span.Days.ToString()); 
     double x = posDays/spanDays; 

     return x; 
    } 
Смежные вопросы