2009-10-22 9 views
0

im en utilisant le DataGrid et QNI WPFToolkit essayant d'obtenir un travail de bouton d'édition, voici la colonne:commande dans un WPFToolkit DataGridTemplateColumn ne fonctionne pas

<my:DataGridTemplateColumn> 
        <my:DataGridTemplateColumn.CellTemplate> 
         <DataTemplate> 
          <TextBlock> 
           <Hyperlink Command="{Binding EditVenueCommand}" >Edit</Hyperlink> 


          </TextBlock> 
         </DataTemplate> 
        </my:DataGridTemplateColumn.CellTemplate> 
       </my:DataGridTemplateColumn> 

et je reçois l'erreur suivante:

BindingExpression erreur de chemin: propriété 'EditVenueCommand' introuvable sur 'objet' '' Venue '(HashCode = 18626439)'. BindingExpression: Path = EditVenueCommand; DataItem = 'Venue' (HashCode = 18626439); l'élément cible est 'Hyperlink' (HashCode = 32883419); La propriété target est 'Command' (tapez 'ICommand')

La commande EditVenueCommand s'allume parfaitement lorsqu'elle est hors de la grille.

aussi, la raison pour laquelle je me sers d'un DataGridTemplateColumn au lieu d'un DataGridHyperlinkColumn est parce que je ne pourrais pas obtenir que pour travailler soit :(

Répondre

1

Qu'est-ce qui se passe dans votre code est que la liaison est le traitement « EditVenueCommand » comme une propriété il devrait trouver sur le datacontext du modèle de données

Vous devriez vraiment pas utiliser une liaison pour brancher une commande de toute façon, il suffit d'utiliser spécifier l'espace de noms + type + champ de commande comme ceci:.

Command="myns:MyType.EditVenueCommand" 

Où myns est mappé à votre espace de noms CLR. Par exemple:

<Window xmlns:myns="clr-namespace:MyNamespace;assembly=MyAssemblyName" ... 
+0

qui donne: 'vm: VenueManagerViewModel.EditVenueCommand' ne peut pas être affecté à la propriété 'Commande'. 'CommandValueSerializer' ValueSerializer ne peut pas convertir à partir de 'System.String'. – aaron

+0

Eh bien c'est bizarre, pouvez-vous essayer d'ajouter {x: Static} autour de ça? –

+0

qui a semblé fonctionner, j'ai dû rendre mon ViewModel statique que je n'aime pas vraiment mais merci pour votre aide – aaron