Я пытаюсь привязать статическое свойство другого класса к свойству Text свойства TextBlock и могу заставить работать привязку, но при изменении значения статического свойства обновления свойства Text нет. Я прочитал, что я не могу использовать INotifyPropertyChanged, потому что свойство является статическим и видел ряд решений, которые предлагают использовать свойство зависимости. Я очень новичок в C # и не очень понимаю, как использовать Dependency Properties, но сделал пару попыток, которые, похоже, не работают по двум причинам. 1. У моего статического свойства есть пользовательский метод getter и setter и 2. Статическое свойство используется во многих статических методах, которые я не могу понять, как заставить работать, используя свойство зависимости. Я не знаю, как использовать пользовательский метод получения и установки при использовании свойства зависимости, или если это вообще можно сделать, или как продолжать использовать статическое свойство в статических методах после того, как я изменил его на свойство зависимости.
Вот текущий код статического свойства:
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(){}
А вот текущий XAML для привязки, которая работает, но не обновляется:
<Window.Resources>
<local:Helper x:Key="helper"/>
</Window.Resources>
<TextBlock Text="{Binding Source={StaticResource helper},Path=Token Converter={StaticResource NameConverter}}"/>
Я очень ценю любую помощь!