• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

saramgsilva

WPF - extender ICollectionView

3 mensagens neste tópico

Boas,

tenho uma window com uma listview, fazendo

CollectionViewSource.GetDefaultView(listView.ItemsSource);  

Obtenho a collectionView dos elementos da listview, podendo depois aplicar filtros, agrupar....

eu queria extender para permitir seleccionar um elemento da lista de elementos da listView....

ou seja teria algo

collectionView.Filter = new Predicado<Object>(myfilter);
collectionView.Select= new SelectItem<Object>(myfilter);

myfilter recebe um elemento e retorna um bool a dizer se verifica o filtro ou não.

estou a nora, pois não estou a ver como vou implementar isto  ;)

bom trabalho

tofas

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O Filter é simples, basicamente dás uma função que serve para filtrar a colecção.

Recebe como parâmetro uma função que tem como argumento um object e retorna um booleano a indicar se é para filtrar ou não.

Por exemplo, imaginando que estás a trabalhar com uma colecção de utilizadores e queres que só apareçam os maiores de 18 anos.

collectionview.Filter = funMaiores18;

// ...

private bool funMaiores18(Objecto o) {
  if(o is Utilizador) {
     return (o as Utilizador).Idade >= 18;
  } else {
    return false;
  }
}

O Select não faço a minima do que é isso. Será que isso não é o Select do LINQ? Se for então a forma de usa não tem nada haver, e nem serve para o que queres fazer  (se é que percebi bem)...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas,

relativamente ao Filter, eu já estou a trabalhar com ele e não tive qualquer problema.

A questão é que eu queria extender o ICollectionView, para ter a opção de Select, assim como tenho a opção de Filter, Group. Mas acabei por desistir e criar outra forma de o fazer....que foi usar um evento que é lançado e que o subscreve vai seleccionar aquele elemento na listview.

Obrigada na mesma

tofas

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora