C# MVVM中未更新映像源

C# MVVM中未更新映像源,c#,wpf,xaml,mvvm,binding,C#,Wpf,Xaml,Mvvm,Binding,当我修改状态时,我希望有一个按钮更新其内容的图像源 XAML: 我希望在视图的代码隐藏中不使用任何代码 播放器启动的属性和字段: private StartMenuViewModel.Status _status; private string _character; private string _name; private string _tokenSource; public StartMenuViewModel.Status Status { g

当我修改状态时,我希望有一个按钮更新其内容的图像源

XAML:

我希望在视图的代码隐藏中不使用任何代码

播放器启动的属性和字段

    private StartMenuViewModel.Status _status;
    private string _character;
    private string _name;
    private string _tokenSource;

    public StartMenuViewModel.Status Status { get { return _status; } set { _status = value; OnStatusChanged(); } }
    public string Character { get { return _character; } set { _character = value; OnCharacterChanged(); } }
    public string TokenSource { get { return _tokenSource; } set { _tokenSource = value; } }

请在您的问题代码中包含
PlayerStartup.TokenSource
属性。这可能是解决问题的关键。源应绑定到图像。不是图像路径。这是一个常见的错误。请检查。@NorbertKovacs,
TokenSource
在更改时不会通知
PlayerStartup
必须实现
INotifyPropertyChanged
并在启用
TokenSource
时引发事件modified@ASh我已经试过了,但没用。现在我又试了一次,成功了。一定是拼错了什么,哈哈。谢谢!:)
                ....
                if (status is ok)
                {
                    ((PlayerStartup)s).TokenSource = "pack://siteoforigin:,,,/Images/pic.jpg";
                }
                .....
    private StartMenuViewModel.Status _status;
    private string _character;
    private string _name;
    private string _tokenSource;

    public StartMenuViewModel.Status Status { get { return _status; } set { _status = value; OnStatusChanged(); } }
    public string Character { get { return _character; } set { _character = value; OnCharacterChanged(); } }
    public string TokenSource { get { return _tokenSource; } set { _tokenSource = value; } }