数据将静态类的字符串变量绑定到Phone 7中的textBlock?

这是C#代码

public static class Global { public static string Temp { get { return temp; } set { temp = value; } } public static string temp="100"; } 

这是MainPage的xaml代码

   

我在其构造函数中声明了MainPage.cs中的datacontext:

 this.DataContext= Global.Temp; 

但是textBlock中没有显示任何内容。 在此先感谢您的帮助。

您无法绑定到静态类,因为绑定需要对象实例。

但是,您可以绑定到类的静态属性。
如果您将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"    

然后在您的页面中,您只需执行以下操作:

  

这甚至可以让你在Path上智能感知。

这允许您绑定到“全局”静态变量,并仍然使datacontext可以自由地包含您希望绑定到的任何模型。

我认为不支持绑定到静态属性

尝试使类单例并绑定到实例

这可能有所帮助:

http://social.msdn.microsoft.com/Forums/en-IE/wpf/thread/257a41be-8168-401c-a915-cdc44e195a3f

我觉得

this.Text = Global.Temp

您可以使用:

谢谢大家的帮助,问题解决了。 实际上你创建了一个简单的类L.

 public partial class App : Application { //--------------My Class private static MyClass _class = null; public static MyClass _Class { get { if (_class == null) _class = new MyClass(); return _class; } } 

在您要绑定的页面中,在.cs文件的类构造函数中执行此操作

 DataContext = App._Class; 

最后在你的文件的.xaml版本中写这个来绑定

  

哪里

在Binding中实际上是MyClass类的属性。 🙂

感谢大家!