Ich möchte die Benutzer Punktzahl an ein Textfeld in der Windows Phone App in Silverlight binden. hier ist das Skelett meines Spiels KlasseDataBinding TextBox mit einem Integer Wert WP7
public class Game : INotifyPropertyChanged
{
private int _userScore;
public string UserScore {
{
return _userScore.ToString();
}
set
{
_userScore = Convert.ToInt32(value);
NotifyPropertyChanged("UserScore");
}
}
public Game()
{
UserScore = "0";
}
public event PropertyChangedEventHandler PropertyChanged;
void NotifyPropertyChanged(string propertyName)
{
if (this.PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}
In meiner XAML Ich habe
<TextBlock Margin="28,74,242,386" Name="scoreTextBlock"
Text="SCORE" DataContext="{Binding UserScore}" />
und in den MainPage.xaml.cs
public MainPage()
{
InitializeComponent();
Game theGame = new Game();
DataContext = theGame;
}
Die Frage
Wenn ich die App starte, wird das Ergebnis korrekt geändert, aber es wird nicht in th angezeigt e scoreTextBlock
. Gibt es etwas, was ich falsch mache?
Das funktioniert auch nicht. Ich denke, ich könnte einen Schritt vermissen. – nikhil
@nikhil - Hmm - Sie haben 'INotifyPropertyChanged' implementiert und den' DataContext' gesetzt - zwei der häufigsten Fehler. Weitere Informationen zu Datenbindungen finden Sie unter http://msdn.microsoft.com/en-us/library/cc278072(v=vs.95).aspx. – ChrisF
Der darin enthaltene Text bleibt nur SCORE, es wird dort nicht angezeigt. – nikhil