Como faço para detectar quando o valor de uma célula mudou no Silverlight?
-
26-09-2019 - |
Pergunta
Estou trabalhando no Silverlight, tentando descobrir como definir uma cor de fonte de célula de grade com base no conteúdo da célula.
Eu tenho uma observação Observadora vinculada a um datagrid e meus itens implementam o InotifyPropertyChanged para que a grade seja atualizada à medida que eu altero os valores; Tudo está funcionando perfeitamente, incluindo me deixar classificar itens e manter a classificação enquanto eu atualizo os itens subjacentes.
Sei que posso usar o evento Loadingrow para alterar as cores, mas a única maneira de conseguir que o evento seja alterado é alterando a Grids DataSource, caso em que minha classificação sai pela janela.
Então, o que eu realmente quero é uma maneira de
- Loop the lines no datagrid, encontre a célula de que preciso e mude sua cor ou
- Implemente uma coluna personalizada que eu possa usar para definir dinamicamente a cor.
O problema é como realmente Faz qualquer uma dessas coisas :).
Solução
Você deve usar o banco de dados para isso.
- Vincule a cor da fonte celular ao conteúdo da célula
- Crie um conversor ivaleConverter que converte o valor em uma cor, dependendo de suas necessidades
Veja aqui para um bom exemplo
http://weblogs.asp.net/joewrobel/archive/2009/01/25/conditional-formatting-in-the-silverlight-datagrid.aspx