Хорошо, у меня есть этот проект, над которым я работаю в WPF (Visual C # 2010 Express), и у меня есть несколько DatePicker, которые связаны со свойствами DateTime. Теперь, если я просто открою «сборщик» и сразу начну менять месяцы, проблем не будет. Однако, если я выберу дату, а затем попытаюсь изменить месяц, я получу следующее исключение:
Элемент не существует или существует
виртуализированных; использовать VirtualizedItem
Шаблон, если он поддерживается.
Трассировка стека показывает только:
[Внешний код]
мой метод, который открывает диалоговое окно, которое содержит DatePickers (среди прочего)
[Внешний код]
Если свойства являются обнуляемыми или нет, кажется, не имеет значения, и не может найти ни одного результата ни в одной из основных поисковых систем с вышеупомянутым исключением.
XAML
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525" Loaded="Window_Loaded">
<Grid>
<DatePicker SelectedDate="{Binding TheDate}"
x:Name="datePicker1" />
<Button Content="Button"
x:Name="button1"
Click="button1_Click" />
</Grid>
</Window>
Код позади
class TheClass
{
public DateTime TheDate { get; set; }
}
public MainWindow()
{
theClass = new TheClass();
theClass.TheDate = DateTime.Now;
InitializeComponent();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
this.DataContext = theClass;
}
private void button1_Click(object sender, RoutedEventArgs e)
{
System.Windows.MessageBox.Show(theClass.TheDate.ToString());
}
Кто-нибудь когда-либо видел такое поведение раньше или у вас есть другие идеи? Я далек от WPF-специалиста и, честно говоря, понятия не имею, что может быть причиной этого или с чего начать.