这是 C# 代码
public static class Global
{
public static string Temp
{
get
{
return temp;
}
set
{
temp = value;
}
}
public static string temp="100";
}
这是 MainPage 的 xaml 代码
<TextBlock Text="{Binding Path=Temp}" Grid.Column="1" Margin="34,47,32,49" Name="textBlockCheck" />
我在 MainPage.cs 的构造函数中声明了数据上下文,如下所示:
this.DataContext= Global.Temp;
但文本块中没有显示任何内容。预先感谢您的帮助。
您无法绑定到静态类,因为绑定需要对象实例。
但是,您可以绑定到类的静态属性。
如果你改变了,你可以使用以下技术Global
不是静态的,但将其所有属性保留为静态。
假设:
namespace StaticBinding
{
public class MyStaticClass
{
private static string myStaticProperty = "my static text";
public static string MyStaticProperty
{
get { return myStaticProperty; }
set { myStaticProperty = value; }
}
}
}
然后,如果您定义以下应用程序资源:
.. xmlns:myns="clr-namespace:StaticBinding"
<Application.Resources>
<myns:MyStaticClass x:Key="MyStaticClassResource" />
</Application.Resources>
然后在您的页面中您可以简单地执行以下操作:
<TextBlock Text="{Binding Path=MyStaticProperty,
Source={StaticResource MyStaticClassResource}}" />
这甚至会给你智能感知Path
.
这允许您绑定到“全局”静态变量,并且仍然保留数据上下文自由,仅包含您希望绑定到的任何模型。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)