WPF Cacher DataGridColumn par l'intermédiaire d'une liaison
Pour une raison que je ne peux pas cacher WPF Toolkit est DataGridColumn. Je suis en train de faire ce qui suit:
<dg:DataGridTemplateColumn Header="Item Description" Visibility="{Binding IsReadOnly}">
<dg:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBox Text="{Binding Path=ItemDescription}" />
</DataTemplate>
</dg:DataGridTemplateColumn.CellTemplate>
Cela ne fonctionne pas, car il est à la recherche d'un IsReadOnly bien sur la ItemSource (pas une propriété de la classe en cours).
Si l'ajouter comme une propriété de la ItemSource classe qui implémente INoifyPropertyChanged, il n'est toujours pas masquer la colonne. Est-il un moyen de contourner cela? Je veux la colonne de cacher lors d'un clic sur un bouton de changements de propriété IsReadOnly.
Assumer IsReadOnly renvoie une Visibilité valeur et est une propriété de dépendance
Je suis complètement bloqué, je voudrais vraiment l'apprécier à l'aide! Merci beaucoup!
OriginalL'auteur Greg R | 2010-03-25
Vous devez vous connecter pour publier un commentaire.
Si vous souhaitez lier à la
DataGridColumn
'sIsReadOnly
propriété, il suffit d'ajouter unRelativeSource
de la Liaison (et un convertisseur):Aussi, il ressemble cette question StackOverflow pourrait être lié à votre problème.
OriginalL'auteur Abe Heidebrecht
Posté dans cette question:
WPF DataGrid: Liaison DataGridColumn de la visibilité à ContextMenu MenuItems Ischeked (MVVM)
Fubzot est en utilisant le code de liaison similaire à
Vous pouvez également vouloir vérifier ceci:
La redirection de la grille de données du DataContext de ses colonnes..
qui est également lié à la question ci-dessus.
Juste pour mon information: voyez-vous une erreur de Liaison dans votre fenêtre de Sortie à l'aide de votre code actuel?
Content que ça en place et fonctionne maintenant.
OriginalL'auteur Ed Gonzalez
vous devez utiliser un convertisseur
puis vous utilisez le convertisseur dans le code XAML. EXEMPLE
ok..question idiote. Sur vous VM propriété IsReadOnly avez-vous des OnPropertyChanged("IsReadOnly") dans votre setter? Je sais que parfois j'oublie de le faire et que l'INTERFACE utilisateur de l'habitude de réagir sans elle.
Le BooleanToVisibilityConverter classe existe déjà dans le Système.De Windows.Les contrôles de, plus besoin de le recréer 😉
OriginalL'auteur ecathell