我在XAML中有以下内容:
<Button Content="{Binding KB.Text}" />
KB是以下类的实例:
public class ButtonText
{
public string Text
{
get
{
return "Button";
}
}
}
我在页面后面的代码中将KB定义为全局变量,在运行项目时按钮内容显示为空,我将如何实现此目的?按钮内容应由KB.Text检索
答案 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}"/>