gpt4 book ai didi

c# - 数据将静态类的字符串变量绑定(bind)到 Phone 7 中的 textBlock?

转载 作者:行者123 更新时间:2023-11-30 13:50:58 25 4
gpt4 key购买 nike

这是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;

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

最佳答案

您不能绑定(bind)到静态类,因为绑定(bind)需要一个对象实例。

但是,您可以绑定(bind)到类的静态属性。
如果将 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 智能感知。

这允许您绑定(bind)到“全局”静态变量,并且仍然让数据上下文自由地只包含您希望绑定(bind)到的任何模型。

关于c# - 数据将静态类的字符串变量绑定(bind)到 Phone 7 中的 textBlock?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5323052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com