2011-05-26 12 views
6

Ok Tengo este proyecto en el que estoy trabajando en WPF (Visual C# 2010 Express), y tengo unos DatePickers que están vinculados a DateTime-properties. Ahora si abro el "selector" y empiezo a cambiar meses inmediatamente, no hay problema. Sin embargo, si selecciono una fecha y luego tratar de cambiar el mes, tengo la siguiente excepción:WPF DatePicker arroja una excepción al cambiar el mes

elemento no existe o es virtualizado; utilice el patrón VirtualizedItem si es compatible.

El seguimiento de la pila sólo muestra:

[Código externo]
mi método que se abre el cuadro de diálogo que contiene los datepickers (entre otras cosas)
[Código externo]

Si las propiedades son anulables o no, no parece hacer una diferencia, y no puede encontrar un solo resultado en ninguno de los principales motores de búsqueda en la excepción anterior.

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> 

Código Detrás

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()); 
    } 

Cualquiera que he visto este comportamiento antes o tiene alguna otra idea? Estoy lejos de ser un experto en WPF-honestidad y tienen ni idea de lo que podría estar causando esto o por dónde empezar a buscar ..

+0

Intenta reproducir en una mini aplicación. O encuentras el problema o tienes algo que publicar aquí. –

+0

Buena idea, no puedo creer que ni siquiera lo haya considerado ... Pero de todos modos, logré duplicar exactamente el mismo error con una cantidad mínima de código en un nuevo proyecto. Lo curioso es que si elijo ignorar la excepción y seguir corriendo, no se lanza nuevamente y puedo cambiar el mes muy bien. (¿Quizás VS recuerda mi elección de continuar?) XAML: https://gist.github.com/993005 C#: https://gist.github.com/993003 – Robin

+2

Cambié tu código a la pregunta real en el estuche github muere hoy. – user7116

Respuesta

Cuestiones relacionadas