Inquiridor
Fazer Binding entre controles

Pergunta
-
Todas as Respostas
-
Sabe o que está ocorrendo? A própriedade Visibility é uma Enum, não é um True/False, para vocÊ fazer o Binding tem que criar um converter, veja esses exemplos, vai te ajudar:
http://www.rhyous.com/2011/02/22/binding-visibility-to-a-bool-value-in-wpf/
http://bembengarifin.wordpress.com/2009/08/12/setting-visibility-of-wpf-control-through-binding/
http://andu-goes-west.blogspot.com.br/2009/05/wpf-boolean-to-visibility-converter.html
Espero ter ajudado, Thiago Coelho.
thiagokoelho
-
-
Boa tarde Lilian.
Não é complicado, é bem simples.
A única diferente é que como o Thiago disse, não há como fazer binding diretamente já que as duas propriedades aceitam valores diferentes.
O WPF já possui alguns conversores para facilitar a nossa vida, um deles é o "BooleanToVisibilityConverter".
No primeiro link que o Thiago enviou é exatamente esse que está sendo utilizado.
TextBox
Grid.Column
=
"1"
Grid.Row
=
"2"
Name
=
"ageTextBox"
Text
=
"{Binding Path=Age, Mode=TwoWay, ValidatesOnExceptions=true, NotifyOnValidationError=true}"
MinWidth
=
"175"
Visibility
=
"{Binding IsChecked, ElementName=ShowAgeCheckBox, Converter={StaticResource BoolToVisConverter}}"
Ao fazer o binding da propriedade Visibility do TextBox na propriedade IsChecked do checkbox, se vc não colocar o Converter o WPF não irá saber como converter os valores (true e false) do checkbox em valores válidos de visibilidade (Visible, Hidden,Collapsed).
Resumindo é isso que esse conversor faz pra vc, ele converte "True" para "Visible" e "False" para "Collapsed" ou "Hidden".
Espero ter ajudado.
Victor Camargos
- Sugerido como Resposta Joba Diniz sexta-feira, 20 de abril de 2012 20:16
-