2012-05-22 3 views
1

Возможно, не имеет значения, но у меня есть Infragistics XamDataChart, у которого есть категория XAxis of Dates. Мне удалось привязать выбор даты к диапазону дат, доступных на графике, но мне действительно нужно привязать к конкретному списку дат, построенных на диаграмме.Bind DatePicker to List of Dates

<DatePicker x:Name="statsDatePicker" DisplayDateStart="{Binding Path=ActualMinimumValue.Date, ElementName=xAxisPath, Mode=OneWay, StringFormat=\{0:d\}}" DisplayDateEnd="{Binding ElementName=xAxisPath, Path=ActualMaximumValue.Date, Mode=OneWay, StringFormat=\{0:d\}}" SelectedDateChanged="DatePicker_SelectedDateChanged" /> 

Я обнаружил, что вы можете предоставить список закрытых дат, но как один взять диапазон дат у меня есть, и превратить его в диапазон дат нет? Или, есть ли способ предоставить дату выбора даты, которые у меня есть, а не даты, которые у меня нет?

+0

Любое обновление по этому вопросу? – seekerOfKnowledge

ответ

1

Возможно, что-то вроде этого?

DateTime end = DateTime.MaxValue; 
DateTime start = DateTime.MinValue; 
List<DateTime> datesIHave= new List<DateTime>(); 
datesIHave.Add(DateTime.Now); 
List<DateTime> allDates = Enumerable.Range(0, 1 + end.Subtract(start).Days).Select(offset => start.AddDays(offset)).ToList(); 
List<DateTime> blackoutDates = (from a in allDates 
           where !datesIHave.Contains(a) 
           select a).ToList(); 
+0

Любая идея, если это возможно с помощью xaml и привязки данных? –

+0

Этот код - моя попытка ответить «Я обнаружил, что вы можете предоставить список дат отключения, но как принять ряд дат, которые у меня есть, и превратить их в ряд дат, которых я не делаю?» Когда вы устанавливаете переменную dateIHave в соответствии с датами, которые вы хотите сделать доступными, код в моем ответе должен предоставить вам все другие даты, и вы можете предоставить даты затемнения для вашего XamDataChart. Во всяком случае, это была моя идея. – seekerOfKnowledge

+0

Только что отредактирован, потому что я заметил, что у меня есть конец и дата начала переключения, но в то же время, если у вас уже установлен диапазон дат, установленный на ваш датпикер, который меньше минимального и максимального значений, вы должны установить конечные и стартовые переменные соответственно, поэтому он будет работать как можно быстрее. – seekerOfKnowledge