Jump to content

Recommended Posts

Posted

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

Posted

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)...

"Give a man a fish and he will eat for a day; Teach a man to fish and he will eat for a lifetime. The moral? READ THE MANUAL !"

Sign on a computer system consultant's desk

Posted

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.