WPF DatePicker выдает исключение при смене месяца - PullRequest
6 голосов
/ 26 мая 2011

Хорошо, у меня есть этот проект, над которым я работаю в 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-специалиста и, честно говоря, понятия не имею, что может быть причиной этого или с чего начать.

1 Ответ

0 голосов
/ 12 августа 2011

Хотелось бы, чтобы это был комментарий, а не ответ, но здесь говорится:

http://www.switchonthecode.com/tutorials/wpf-snippet-detecting-binding-errors

Дайте этому прочтение, и оно должно сообщать о любых ошибках связывания, если это проблема вваш случай.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...