다른 클래스의 정적 속성을 TextBlock의 Text 속성에 바인딩하려고하는데 바인딩이 작동하도록 만들 수 있지만 정적 속성 값이 변경되면 텍스트 속성이 업데이트되지 않습니다. INotifyPropertyChanged 속성은 정적이며 Dependency Property를 사용하도록 제안하는 여러 가지 솔루션을 보았 기 때문에 사용할 수 없다는 것을 읽었습니다. 나는 C#에 익숙하지 않고 의존성 프로퍼티를 사용하는 방법을 정말로 이해하지 못한다. 그러나 두 가지 이유로 작동하지 않는 몇 가지 시도를했다. 1. 내 정적 속성에는 사용자 정의 getter 및 setter가 있고 2. 정적 속성은 종속성 속성을 사용하여 작업하는 방법을 파악할 수없는 여러 가지 정적 메서드에서 사용됩니다. 종속성 속성을 사용할 때 사용자 정의 getter 및 setter를 사용하는 방법 또는이를 수행 할 수 있는지 또는 종속성 속성을 변경 한 후에 정적 메서드에서 정적 속성을 계속 사용하는 방법을 알지 못합니다.XAML에서 정적 속성에 바인딩하는 방법?
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}}"/>
난 정말 어떤 도움을 주셔서 감사합니다
다음은 정적 속성의 현재 코드입니다!
정적으로 만드는 이유는 무엇입니까? 토큰 리더/라이터를 본격적인 클래스로 구축하고, 뷰 모델 ('string Token' 속성을 통해)에 인스턴스를 노출하면 어떨까요? 그렇다면 다른 토큰 파일을 가지고 있다면이 코드를 재사용 할 수있는 편리한 방법이 있습니다. –