Controle Do Usuário Propriedade Designer De Propriedades
-
08-06-2019 - |
Pergunta
Para C# UserControl no Windows Mobile (que por favor, responda se você a conhece por completo do Windows...pode trabalhar) como você alterar o que aparece no Designer janela de Propriedades para um Controlo público de Propriedades.Por exemplo:
private Color blah = Color.Black;
public Color Blah
{
get { return this.blah; }
set { this.blah = value; }
}
Isso mostra para o controle, mas é em "Misc" categoria e não tem nenhuma descrição ou o valor padrão.Tentei usar as configurações no Sistema.ComponentModel como "DesignerCategory", tais como:
[DesignerCategory("Custom")]
Mas diz que isso só é válido para as declarações de classe...poderia ter jurado que era o Sistema.ComponentModel itens que eu usei antes...
Atualização:
@João disse:
DesignerCatogy é usado para dizer se os é a classe de um formulário, componente, etc.
Tente isso:
[Categoria("Custom")]
Existe um determinado espaço de nomes que eu preciso usar para obter esses?Eu tentei aqueles exatamente e o compilador não reconhece-los.
Em .O NETCF tudo me parece ter disponível a partir do Sistema.ComponentModel é:
DataObject,
DataObjectMethod,
DefaultValue,
DesignerCategory,
DesignTimeVisible,
EditorBrowsable
O único que ele não gritar é EditorBrowsable
Solução
É este de usar para você?Eu não estou na CF de desenvolvimento, mas parece que você precisará adicionar algumas XML de metadados para habilitá-lo:
Interessante ler..Parece um monte de tempo de design de apoio foi destituído da CF, porque você não projetá-los nos dispositivos..O que parece meio estranho para mim..Não posso imaginar a utilização de um dispositivo portátil como um desenvolvimento rig!
Desloque-se para baixo cerca de metade do caminho para as coisas boas ;)
Outras dicas
DesignerCatogy é usado para dizer se a classe é uma forma, componente, etc.
Para windows completa o atributo que você deseja é:
[Sistema.ComponentModel.Categoria("Custom")]
e para a descrição você pode usar [Sistema.ComponentModel.Descrição("descrição")]
para usar os dois juntos
[Sistema.ComponentModel.Categoria("Custom"),Do Sistema.ComponentModel.Descrição("descrição")]
No entanto, esta é parte da system.dll que pode ser diferente para o windows mobile.
O artigo não sugere que alguém está projetando NO dispositivo.No entanto, quando você cria um Compact Framework de projeto, o compact framework (para o seu desktop PC) é usado para tratar do projeto tempo de renderização.Se você pensar sobre isso que é o que você esperava.O mesmo quadro (ou quase isso) é usado para fazer a renderização de ambas no seu PC em tempo de design e, mais tarde, o dispositivo em tempo de execução.O problema é que o tempo de design atributos não foram adicionados para o compact framework (eu assumo para reduzir o tamanho).