使用 TextBlock 绑定变量

Binding variable with TextBlock

我有我的 XAML 代码(在标准空白页模板的 Page 中)作为

<Grid>
  <TextBlock x:Name="tbBindingBlock">
</Grid>

我在代码隐藏中有一个名为 iTestBindingint。是否有一种简单的方法(因为我只绑定一个变量而不是一个集合)将两者绑定在一起,以便 iTestBinding 的最新值(它不断从代码隐藏中更改)总是显示在里面tbBindingBlock ?


编辑:后面的代码很短:

public sealed partial class MainPage : Page
{
    public int iTestBinding=0;

您可以使用以下代码直接绑定您的值

<TextBlock x:Name="tbBindingBlock" Text="{Binding iTestBinding}">

像这样在后面的代码中保持你的值绑定为 属性

      public int iTestBinding{ get; set; }

并像这样在页面加载事件中设置数据上下文

      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("changed property name") - 无论何时更新 属性 的值。

最好为 属性 保留自定义 get 集,以便我们可以从 setter.for 示例中调用此方法

    private string myText;
    public string MyText { 
        get {
            return myText;
    }
        set {
            myText = value;
            RaisePropertyChanged("MyText");
        }
    }