J'ai un GridView qui contient une liste de fichiers, dates créées et tailles de fichiers. En dessous de la grille, j'ai un bloc de texte qui indique "X Files Selected Y MB". Je peux lier à SelectedItems.Count très bien, mais puis-je facilement lier à la somme des tailles de fichiers pour ceux qui sont sélectionnés?Liaison à une somme de SelectedItems dans WPF GridView
Les points d'interrogation ci-dessous doivent correspondre à la somme des valeurs de la colonne selectedItems fileSize. Des idées?
<TextBlock HorizontalAlignment="Right">
<TextBlock.Text>
<MultiBinding StringFormat=" {0} Files Selected. {1} MB">
<Binding ElementName="FilesList" Path="SelectedItems.Count"></Binding>
<Binding ElementName="FilesList" Path="SelectedItems.?????"></Binding>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
Je sais que je peux obtenir ce fait dans le codebehind - mais je voudrais essayer de garder mon codebehind vide et le faire dans le XAML. Ceci est le code codebehind:
private void FilesList_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
double x = 0;
foreach (FileInfo fileInfo in FilesList.SelectedItems)
{
x += fileInfo.Length;
}
}
Nice. Bien joué. –
Merci pour l'exemple - je suppose que cela fonctionnera très bien - mais j'ai besoin de la liaison pour mettre à jour sur FilesList_SelectionChanged. Je ne sais pas comment faire cela. – djschwartz
Il doit automatiquement être actualisé sur selectionChanged car vous utilisez SelectedItems comme source de liaison. Si cela ne fonctionne pas, vous pouvez toujours essayer d'accéder à la liaison et l'actualiser. – apandit