属性 值更改时更改图像源

Change image source when property value changed

我在 HomePage.xaml、

中有这个文本块和图像图标
<Window 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        x:Class="MyApp.HomePage">
        d:DataContext="{d:DesignInstance Type=HomePageViewModel}">
<Grid>
     <TextBlock Text="{Binding Username}"></TextBlock>
     <Image Source="{Binding ImageSource}" Width="45"></Image>
</Grid>
</Window>

我有这个 HomePageViewModel class 但是这些 Username 和 ImageSource 属性位于另一个名为 WebAppViewModel 的视图模型中。

internal class WebAppViewModel
{
   private string userName;
   public string Username
        {
            get
            {
                return userName;
            }
            set
            {
                userName = value;
                OnPropertyChanged();
            }
        }
        
        private bool hasSignedIn;
        public bool HasSignedIn
        {
            get
            {
                return hasSignedIn;
            }
            set
            {
                hasSignedIn = value;
                OnPropertyChanged();
            }
        }

        public string ImageSource
        {
         get; set;
        }
}

取决于 HasSignedIn 值,需要显示图像(灰色图标图像/绿色图标图像)

此用户数据来自我正在为这些属性分配值的另一项服务。

如何在 HomePage.xaml 中绑定这些属性?当 HasSignedIn 值发生变化时需要通知,以便显示正确的彩色图像,如果 HasSignedIn 为 false,则 TextBlock 应该是不可见的。

我在 ImageSource 集合中使用了 OnPropertyChanged() 属性。