2010-12-06 6 views
1

Ich merke ein ernstes Problem mit WPF Toolkit Calendar Steuerelement. Es funktioniert gut, wenn ich es nur mit XAML normalen Inline aufrufen und das DisplayDate auf ein Datum Zeichenfolge festgelegt, wie folgt aus:Problem mit WPF Toolkit Kalender, der von DataTemplate aufgerufen wird

<toolkit:Calendar DisplayDate="12/6/2010"/> 

es jedoch nie ehrt den DisplayDate Parameter, wenn ich eine Datatemplate verwenden, um die Kalender zu verursachen angezeigt werden . Hier ein Beispiel:

<UserControl x:Class="Dashboard.Presentation.View.CalendarView" 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
xmlns:toolkit="http://schemas.microsoft.com/wpf/2008/toolkit" 
xmlns:sys="clr-namespace:System;assembly=mscorlib"> 
<UserControl.Resources> 
    <DataTemplate DataType="{x:Type sys:DateTime}"> 
     <StackPanel Orientation="Vertical"> 
      <toolkit:Calendar DisplayDate="{Binding Path=.}" /> 
      <TextBlock Text="{Binding Path=.}"/> 
     </StackPanel> 
    </DataTemplate> 
</UserControl.Resources> 
<ListBox> 
    <ListBox.ItemsPanel> 
     <ItemsPanelTemplate> 
      <WrapPanel/> 
     </ItemsPanelTemplate> 
    </ListBox.ItemsPanel> 
    <ListBox.Items> 
     <sys:DateTime>11/1/2010</sys:DateTime> 
     <sys:DateTime>12/1/2010</sys:DateTime> 
     <sys:DateTime>1/1/2011</sys:DateTime> 
     <sys:DateTime>2/1/2011</sys:DateTime> 
     <sys:DateTime>3/1/2011</sys:DateTime> 
    </ListBox.Items> 
</ListBox> 

Ich habe einen Textblock, zu dem Datatemplate hinzugefügt, damit Sie sehen können, dass das Datum gebunden richtig wird, ist er gerade nicht durch den Kalender ausgezeichnet.

Ist dies ein Fehler im WPF Toolkit Calendar? Wenn ja, wie kann ich das beheben? Oder mache ich etwas falsch mit DataTemplates?

+0

Hinweis zu stackoverflow-admin: Mein Beitrag enthält am unteren Rand meines zweiten Codeblocks, aber die stackoverflow-Website gibt dieses schließende Tag nicht wieder. – HugeHugh

+0

Verwenden Sie WPF4? – Guy

+0

Ich hätte meine Version erwähnen sollen. Dies ist .Net Framework 3.5 mit WPF Toolkit Version v3.5.50211.1 (bekannt als Release Februar 2010). Die Verwendung von .Net Framework 4.0 ist für dieses Projekt keine Option. – HugeHugh

Antwort

0

scheint ein Fehler mit dem Kalender zu sein control.It die DisplayDate des contol in einem Datatemplate setzt irgendwo vor dem geladenen event.Any so, wie es in dem Loaded-Ereignisse zurücksetzen scheint die trick.Try diesen

private void Calendar_Loaded(object sender, RoutedEventArgs e) 

    { 

     ((Calendar)sender).DisplayDate = (DateTime) ((Calendar)sender).DataContext; 

    } 
zu tun
+0

Vielen Dank für die Bestätigung, dass es ein Fehler ist. Ihre Problemumgehung ist einfach und funktioniert gut für mich. – HugeHugh

Verwandte Themen