2008-11-06 6 views
0

J'ai une zone de liste déroulante avec le DataTemplate suivant:Comment utiliser un modèle d'élément personnalisé contenant une étiquette de chemin dans ComboBox (sans faire sortir d'exception de gamme)

<DataTemplate x:Key="ComboBoxDataTemplate"> 
      <StackPanel> 
       <TextBlock Text="{Binding Path='Name'}"/> 
       <Path Data="{Binding Path='PathGeometry'}" Width="64" Height="64" Stroke="Black" Stretch="Fill" StrokeThickness="1"/> 
      </StackPanel> 
     </DataTemplate> 

PathGeometry est quelque chose de simple comme 0,1 0,0.5 0.5,0 0,1 (une simple courbe). Lorsque je sélectionne l'objet dans ma zone de liste déroulante, l'application Silverlight devient blanche. Une exception est levée "Value is out of range", que je gère, mais il devient blanc après cela.

Pourquoi l'exception est-elle levée? Si je supprime {Binding} de la balise Path, et que je définis la mienne, cela fonctionne très bien. C'est juste la liaison de données pour une raison quelconque.

Répondre

1

Je n'ai pas trouvé exactement "une réponse" pour cela, mais j'ai trouvé un travail. Plutôt que de créer une propriété de type PathGeometry, si vous modifiez la propriété pour utiliser une chaîne qui fonctionnera tout aussi bien (en utilisant la syntaxe du balisage de chemin).

Questions connexes