Pergunta

Eu tenho um DataGrid Silverlight que contém uma única coluna de modelo que exibe um controle de usuário. O controlo de utilizador tem uma barra de progresso para representar o processamento e, quando o processamento é completar uma animação couros a barra de progresso e mostra um rótulo acabado.

Há dois casos em que o datagrid parece não redesenhar próprio:

Primeiro , quando um usuário faz um monte de rolagem, em seguida, o datagrid vai começar por redesenhar a animação quando o usercontrol vem na vista e, finalmente, chegar a um ponto onde não redesenhar nada.

Segunda , há um evento clique no usercontrol que exibe um pop-up. Quando o pop-up é fechada em seguida, novamente o usercontrol não redesenhar próprio corretamente.

Todas as ideias a respeito de porque este comportamento ocorre e maneiras de contornar isso?

Foi útil?

Solução

A resposta anterior está correcta. Descobri que às vezes você tem que lidar correctamente com a Loading_Row e eventos Unloading_Row se você quiser qualquer um dos seus controles de se comportar corretamente. Em meus casos com as propriedades de controles realmente ligadas a um objeto para trabalhar melhor. Se você tentar contar com animações e visibilidade e o como você vai ver o comportamento estranho, mas se você ligar a barra de progresso para um objeto que está mantendo o andamento de cada item nos bastidores, em seguida, cada vez que essa linha é mostrada vai religar e redesenhar.

Outras dicas

Você tem que entender que a DataGrid não tem uma instância do seu controle para cada linha na grade. A fonte de dados pode ter milhões de linhas, enquanto a grade não precisa mais instâncias do seu controle do que vai caber na tela. Isto significa que quando você rolar, por exemplo, não revelam as instâncias do seu controle anteriormente invisíveis; ele só atribui os controles atualmente visíveis o que valores são necessários para fazer a exibição correta para a posição de rolagem atual.

Eu não sei se há uma solução alternativa.

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