我正在尝试将不同类的静态属性绑定(bind)到 TextBlock 的文本属性,并且可以使绑定(bind)工作,但是当静态属性的值发生变化时,文本属性没有更新。我读到我不能使用 INotifyPropertyChanged 因为该属性是静态的并且已经看到许多建议使用依赖属性的解决方案。我是 C# 的新手,并不真正了解如何使用依赖属性,但已经进行了几次尝试,但由于两个原因似乎不起作用。 1. 我的静态属性有自定义的 getter 和 setter 和 2. 静态属性用在许多静态方法中,我不知道如何使用依赖属性来工作。我不知道在使用依赖属性时如何使用自定义 getter 和 setter,或者是否可以这样做,或者在将静态属性更改为依赖属性后如何继续在静态方法中使用静态属性。
这是静态属性的当前代码:
public class Helper
{
public static string Token
{
get
{
using (StreamReader streamReader = new StreamReader("Token.ini"))
{
return streamReader.ReadLine();
}
}
set
{
using (StreamWriter streamWriter = new StreamWriter("Token.ini"))
{
streamWriter.WriteLine(value);
}
}
}
public static MethodThatUsesToken(){}
public static OtherMethodThatUsesToken(){}
此处是有效但不更新的绑定(bind)的当前 XAML:
<Window.Resources>
<local:Helper x:Key="helper"/>
</Window.Resources>
<TextBlock Text="{Binding Source={StaticResource helper},Path=Token Converter={StaticResource NameConverter}}"/>
非常感谢任何帮助!
我是一名优秀的程序员,十分优秀!