将按钮内容绑定到变量

时间:2018-03-25 08:39:23

标签: c# button uwp

我在XAML中有以下内容:

<Button Content="{Binding KB.Text}" />

KB是以下类的实例:

public class ButtonText
    {
        public string Text
        {
            get
            {
                return "Button";
            }
        }
    }

我在页面后面的代码中将KB定义为全局变量,在运行项目时按钮内容显示为空,我将如何实现此目的?按钮内容应由KB.Text检索

1 个答案:

答案 0 :(得分:4)

  • 确保初始化“KB”对象(非空)。

  • 您可能错过了主函数中的“this.DataContext = this”

  • 确保您的知识产权属性

这对我有用:

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
        this.DataContext = this;
        KB = new ButtonText();
    }

    public ButtonText KB { get; }

}
public class ButtonText
{
    public string Text
    {
        get
        {
            return "Button";
        }
    }
}

编辑: 我写了第一个解决WPF问题的解决方案,花了一些时间来确定是否有“UWP”标签。

在UWP中,如果你想将某些内容绑定到设计器本身的代码(* xaml.cs),你应该使用“x:Bind”而不是“Binding”。

请参阅link about x:Bind vs Binding

简而言之,您的xaml应如此:

<Button Content="{x:Bind KB.Text}"/>