Como posso mostrar valores como-em campos personalizados em uma grade de propriedade?

StackOverflow https://stackoverflow.com/questions/612820

  •  03-07-2019
  •  | 
  •  

Pergunta

Eu tenho uma grade de propriedade que me ajuda a gerenciar todos os controles em um formulário. Esses controles são para pessoas do tipo de designer, então eu realmente não estou preocupado que muito sobre a interface de utilizador ... até que alguém seleciona vários objetos.

Eu tenho um UITypeEditor para a propriedade "BottomDiameter" sobre estes objetos comuns. Ele mantém o controle de unidades (metros vs pés) e faz algumas coisas agradáveis ??on-the-fly. No entanto, quando alguém seleciona dois ou três objetos comuns, BottomDiameter está em branco, mesmo que avaliada como a mesma cadeia de texto.

A razão (eu acho) que está em branco é que é na verdade três objetos objDiameter separadas. Como posso dizer a grade de propriedade para se comportar como todas as outras propriedades e mostrar o valor se for avaliado como a mesma cadeia ???

UPDATE: Por exemplo, a propriedade "Anchor" tem uma saída de texto de "Top, Right" mas quando você puxar para baixo é um objeto. No entanto, quando você seleciona cinco objetos no formulário que todos têm definindo o mesmo Anchor você ainda pode ver a string "Top, Right" na grade de propriedade.

Foi útil?

Solução

Se o seu BottomDiameter é uma classe e não um simples primitivo, então você tem que substituir o método Equals nesta classe.

Outras dicas

No TypeConvertor do tipo de dados que é atribuído ao BottomDiameter propriedade, você pode querer criar um vistor como classe chamada digamos, BottomDiameterVistor o que levaria um array ou uma lista dos BottomDiameter selecionados (s). Substituir o à propriedade corda no BottomDiameterVistor para retornar o valor de texto aggregrated para a propriedade.

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