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

  1. Loop the lines no datagrid, encontre a célula de que preciso e mude sua cor ou
  2. Implemente uma coluna personalizada que eu possa usar para definir dinamicamente a cor.

O problema é como realmente Faz qualquer uma dessas coisas :).

Foi útil?

Solução

Você deve usar o banco de dados para isso.

  1. Vincule a cor da fonte celular ao conteúdo da célula
  2. 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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top