WPF Datagrid RowDetailsTemplate visibilité liée à une propriété
Je suis en utilisant WPF Datagrid avec un RowDetails panneau où l'RowDetailsVisibilityMode est réglé sur "VisibleWhenSelected" et le SelectionMode="Extended" de sorte que plusieurs lignes peuvent être sélectionnées et donc d'affichage RowDetails, comme ci-dessous:
<dg:DataGrid x:Name="MyGrid"
ItemsSource="{Binding Path=MyItems}"
AutoGenerateColumns="True"
SelectionMode="Extended"
RowDetailsVisibilityMode="VisibleWhenSelected">
<dg:DataGrid.RowDetailsTemplate>
<DataTemplate>
<TextBlock Text="Further Details..."/>
</DataTemplate>
</dg:DataGrid.RowDetailsTemplate>
...
</dg:DataGrid>
Malheureusement, pour cette application, il n'est pas intuitif pour afficher la ligne des détails sur "selected" lignes, le client souhaiterait cliquez sur une case à cocher sur un certain nombre de lignes à afficher la RowDetails volet, mais également faire défiler autour de la grille de sélection des autres lignes. En d'autres termes fixer les lignes qui affichent RowDetails peu importe ce qui se passe sur la grille de données.
Donc, actuellement à faire défiler la ferme la RowDetailsPanes qu'ils ont ouvert. Ce que je voudrais faire c'est d'avoir une case à cocher dans l'une des colonnes, et de lier le RowDetails panneau de visibilité à cette propriété, mais je ne peux pas comprendre comment le faire. Le problème est simplement que RowDetailsPane fonctionne uniquement sur la sélection de ligne(s) dans la grille de données - peut-il être prolongé d'une certaine manière de fonctionner sur une propriété de mon choix?
Merci d'avance,
Va
source d'informationauteur WillH | 2009-09-24
Vous devez vous connecter pour publier un commentaire.
À la recherche à la WPF toolkit code source de chaque DataGridRow a un DetailsVisibility propriété.
J'ai mis un bouton (juste pour le test) dans la première colonne.
Lorsque le bouton est cliqué, trouver les cliqué ligne et de bascule de la propriété.
Je n'ai pas exploré le faire via la liaison de données.
À l'aide de pure XAML (+ convertisseur):
XAML:
Converter:
Si vous utilisez l' (excellent) Lambda Convertisseurs de bibliothèque, vous pouvez enregistrer la catégorie "extra". Ce convertisseur utilise 2 les expressions lambda, le premier pour la Convertir, la deuxième pour ConvertBack, par exemple:
Alors que le code XAML est comme suit (la note il n'est pas nécessaire pour StaticResources lors de l'utilisation de cette approche):
Lambda Convertisseurs sont disponibles ici:
https://github.com/michael-damatov/lambda-converters