none
Fazer Binding entre controles RRS feed

  • Pergunta

  • Bom dia!!!!! :)

    eu sou novata em WPF que preciso fazer criar 2 RadioButtom um para fazer aparecer um TextBlock e outro para fazer o mesmo TextBlock sumir,

    como eu faço isso eu não achei nenhum exemplo!

    Obrigada!

    segunda-feira, 2 de abril de 2012 12:11

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

    segunda-feira, 2 de abril de 2012 18:22
  • achei esses exemplos meio confusos! :/

    estou lendo o primeiro link pq os outros 2 não entendi nada!

    e também não achei nada pesquisando sobre esse assunto, será que é tão difícil assim fazer esse binding????

    Obrigada Thiago

    terça-feira, 3 de abril de 2012 16:18
  • 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
    terça-feira, 3 de abril de 2012 20:43
  • Exatamente, o Victor foi mais claro, True não é Visible e False não é Hidden, uma coisa são valores boolenos e a outra são enumerações, com o "BooleanToVisibilityConverter" é possível fazer essa conversão

    thiagokoelho

    quarta-feira, 4 de abril de 2012 21:03