2010-03-29 6 views
1

Je lie une grille de données à une collection d'objets Tâche. Une colonne particulière a besoin de règles particulières relatives à l'édition:Silverlight DataGrid définir la cellule IsReadOnly par programme

<!--Percent Complete--> 
<data:DataGridTextColumn Header="%" 
         ElementStyle="{StaticResource RightAlignStyle}" 
         Binding="{Binding PercentComplete, Mode=TwoWay, Converter={StaticResource PercentConverter}}" /> 

Ce que je veux faire est de définir la propriété IsReadOnly seulement pour pour cent cellule complète de chaque tâche basée sur une propriété sur l'objet de tâche. Je l'ai essayé ceci:

<!--Percent Complete--> 
<data:DataGridTextColumn Header="%" 
         ElementStyle="{StaticResource RightAlignStyle}" 
         Binding="{Binding PercentComplete, Mode=TwoWay, Converter={StaticResource PercentConverter}}" 
         IsReadOnly={Binding IsNotLocalID} /> 

mais apparemment vous ne pouvez pas lier à la propriété IsReadOnly sur une colonne de grille de données. Quelle est la meilleure façon de faire ce que j'essaie de faire?

Répondre

1

Je ne pense pas que vous pouvez Lier directement à cela. J'ai trouvé ce DataGrid étendu pour Silverlight qui fera l'affaire cependant.

Extended DataGrid

0

Il semble que le DataGridColumn.IsReadOnly Property soit un DependencyProperty donc il devrait être lisible. Changez votre XAML à IsReadOnly="{Binding IsNotLocalID}" (Notez les citations ajoutées) et voyez ce qui se passe. Avez-vous des échecs de liaison dans la fenêtre de sortie de Visual Studio?

+0

Ah, je suis sur Silverlight 3, pas Silverlight 4. –

+1

DataGrid est tout à fait un vieux codebase comme Silverlight va, et plusieurs de ses propriétés ne sont pas des propriétés de dépendance. En particulier, IsReadOnly sur la classe de base DataGridBoundColumn n'est pas une propriété de dépendance. J'ai ceci de bonne autorité du gestionnaire de programme pour DataGrid. Je lui ai aussi directement demandé quand le code sera mis à jour et il a refusé de commenter. –

+0

Peter, j'ai exactement le même problème. IsReadOnly n'est définitivement pas une dépendance. J'essaie de créer le mien comme une solution de contournement et je n'arrive toujours pas à le faire fonctionner. Avez-vous un exemple de travail pour cela? Merci – Houman

Questions connexes