Pergunta

info Can IDataError ser usado corretamente em um aplicativo winforms? No passado, eu estava fazendo a minha ligação da maneira usual (1) e fez a validação no evento OnValidating do controle particular. Gostaria de mover a validação de dados para o modelo de domínio para que eu possa facilmente trocar interfaces de usuário e de modo que toda a lógica está em um lugar.

Eu estava olhando para IDataErrorInfo, mas tudo o que eu encontrar ofertas com WPF e o aplicativo em desenvolvimento é estritamente um aplicativo winforms.

Notei também que a ligação que será usado em WPF está em System.Windows.Data e a ligação que eu sempre tenho usado é em System.Windows.Forms (que eu não parecem ter quando eu tento para adicioná-lo como um recurso - Eu estou usando 3.5) .Aside da propriedade "ValidatesOnDataErrors" há uma diferença entre os dois

?

(1) a forma como sendo usual:

myControl.DataBindings.Add(new Binding("Text", this.domainModel, "Property"));
Foi útil?

Solução

Isso funciona com a ErrorProvider componente no Windows Forms.

Para um tutorial completo, mas muito simples e curto, consulte este post .

Outras dicas

Sim, IDataErrorInfo trabalha em winforms. Por exemplo, DataGridView vai usar este automaticamente tanto por linha e por-célula. Mas é aplicação específica, e não é automaticamente aplicada a outras ligações. Eu fiz uma vez escrever um código para associá-lo a um do provedor de erro e fazer o trabalho através de eventos de alteração, mas eu não tê-lo à mão, infelizmente. Mas eu me lembro que não era enorme.

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