我的XAML代码(在标准空白页面模板的Page
内)为
<Grid>
<TextBlock x:Name="tbBindingBlock">
</Grid>
我在代码隐藏中有一个名为int
的{{1}}。是否有一个简单的(因为我只绑定一个变量而不是一个集合)将两者绑定在一起的方式,以便iTestBinding
的最新值(从代码隐藏中继续改变)总是显示在iTestBinding
内?
编辑:背后的代码很短:
tbBindingBlock
答案 0 :(得分:2)
您可以使用以下代码直接绑定您的值
<TextBlock x:Name="tbBindingBlock" Text="{Binding iTestBinding}">
保持你的值绑定为代码隐藏的属性,如此
public int iTestBinding{ get; set; }
并在页面加载事件中设置datacontext,如下所示
this.DataContext = this;
如果要更新按钮单击的值并在UI中反映,则需要实现PropertyChangedEventHandler。
public event PropertyChangedEventHandler PropertyChanged;
private void RaisePropertyChanged(string propertyName)
{
// take a copy to prevent thread issues
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(propertyName));
}
}
调用RaisePropertyChanged(&#34;更改了属性名称&#34;),其中您更新了该属性的值。
最好保留属性的自定义get设置,以便我们可以从setter调用此方法。例如
private string myText;
public string MyText {
get {
return myText;
}
set {
myText = value;
RaisePropertyChanged("MyText");
}
}