让类behine包含属性'Int32 Count'的xaml
我想将一些TextBlock绑定到'Count'值 - TextBlock.Text将具有'Count'的值。
所以我在xaml中写道:
<TextBlock Text="{ Binding Path=Count }" />
在xaml背后的代码中,我添加到构造函数:
DataContext = this;
但'Count'的每次更改都不会更改TextBlock的文本。
'Count'的代码
Int32 count;
public Int32 Count
{
get
{
return count;
}
set
{
count = value;
}
}
答案 0 :(得分:4)
将INotifyPropertyChanged接口放置到您的班级:
public class MainPage : INotifyPropertyChanged
{
}
然后实施:
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string propertyname)
{
var handler = PropertyChanged;
if (handler != null)
handler(this, new PropertyChangedEventArgs(propertyname));
}
如果提供了通知视图在datacontext中发生了某些变化的机制,你会这样做:
public Int32 Count
{
get
{
return count;
}
set
{
count = value;
OnPropertyChanged("Count"); //This invokes the change
}
}
但是,当然,我建议您使用MVVM模式分离设计和代码。这样,您可以将propertychanged实现为ViewModelBase类,然后为每个ViewModel继承该属性。
答案 1 :(得分:0)
您应该确保您的DataContext实现了INotifyPropertyChanged。然后你必须正确解雇财产变更事件。