2010-10-15 4 views
0

Lorsque j'exécute le code suivant, le bloc de texte ne change pas.TextBlock Databinding

Je suppose que la liaison de données manque dans le code ou XMAL.

XAML

<Window.Resources> 
     <ObjectDataProvider x:Key="PersonObj" ObjectType="{x:Type local:Person}" MethodName="GetFirstName" /> 
    </Window.Resources> 

    <Grid> 
     <!--<TextBlock Margin="26,7,12,0" Name="myTextBlock" Text="{Binding Path=FirstName}" Height="69" VerticalAlignment="Top" />--> 
     <TextBlock Margin="26,7,12,0" Name="myTextBlock" Text="{Binding FirstName, Source={StaticResource PersonObj}}" Height="69" VerticalAlignment="Top" /> 
    </Grid> 
</Window> 

CODE

namespace WpfApplication1 
{ 

    public partial class Window1 : Window 
    { 
     public Window1() 
     { 
      InitializeComponent(); 
      test t = new test(); 
     } 
     public void testing() 
     { 
      test t = new test(); 
     }  
    } 

    public class Person 
    { 
     public String FirstName { get; set; } 
     public String LastName { get; set; } 

     public string GetFirstName() 
     { 
      return FirstName; 
     } 
    } 
} 

namespace WpfApplication1 
{ 
    class test : Person 
    { 
     public test() 
     { 
       this.FirstName = "John"; 
       this.LastName = "S"; 
       this.GetFirstName(); 
     } 

    } 
} 

Merci

Répondre

2

changement du fournisseur de données objet:

<ObjectDataProvider x:Key="PersonObj" ObjectType="{x:Type local:test}" /> 
+0

Vous devez donc utiliser ObjectType = "{x: Type local: ClassName}". myTextBlock est un message d'erreur, Comment puis-je l'utiliser dans plusieurs classes. Si l'expcection est survenue dans la classe de test, elle sera affichée sur le formulaire principal, si une erreur est survenue dans la classe test1, elle l'écrasera si quelque chose s'y trouve. – juniorCSharp

+0

je ne suis pas sûr que je suis @ @ @. mais si je comprends bien, je pense que vous appelez le test1 dans votre classe de test n'est-ce pas? alors vous pouvez simplement remplacer la valeur dans la propriété liée à la classe de test – dnr3