Brian Lagunas há algum tempo atrás fez um post interessante sobre debug the XAML. É realmente muito comum ouvir questionamentos a respeito de como saber o que está acontecendo de errado com o nosso código xaml. No meu caso referente a aplicações em Silverlight. Vou usar o post dele para mostrar como o mesmo se aplica para XAML in Silverlight.

Suponhamos que tenhamos uma classe Mensagem.

   1: public class Mensagem
   2:    {
   3:        public string Texto { get; set; }
   4:    }

E que vamos utilizar um binding do atributo texto em um textbox “messagemTxt” em MainPage.xaml.

   1: public MainPage()
   2:         {
   3:             InitializeComponent();
   4:             var mensagem = new Messagem();
   5:             mensagem.Texto = "Testando";
   6:  
   7:             messagemTxt.DataContext = mensagem;
   8:         }

Porém, note que o atributo “Texto” foi digito erroneamente no XAML.

   1: <Grid x:Name="LayoutRoot" Background="White">
   2:        <TextBox x:Name="messagemTxt" Text="{Binding Texito}"></TextBox>
   3: </Grid>

Neste caso, o texto não será exibido. É obvio que este é um exemplo simples, mas em alguns casos, alguns chegam há gastar muito tempo tentando entender qual tag está errado. Ou talvez tentando debugar em vão.

O que o Brian mostra aos mais desatentos é que não precisamos gastar mais do que alguns segundos para saber o que está acontecendo de errado. O Output Window mostra exatamente que o problema ocorreu com no binding por não encontrar “Texito”.

Antes de falarmos mal do xaml, vamos dar uma olhada no output. :)

image

[]s

 AddThis Social Bookmark Button