为什么绑定值不显示在 TextBlock 中?

Why binded value doesn`t show in the TextBlock?

我尝试将字符串绑定到 TextBlock 文本 属性,但值未显示在我的视图中。

xaml:

<TextBlock Margin="10,0" DataContext="{Binding UpgradeViewModel, Source={StaticResource Locator}}">
                <Run Text="Other features: " FontWeight="Bold"/>
                <Run Text="{Binding UpgradeViewModel.AdditionalSelectedLevelData, Source={StaticResource Locator}, 
                            Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
            </TextBlock>

查看模型:

private string additionalSelectedLevelData;
public string AdditionalSelectedLevelData
        {
            get => additionalSelectedLevelData;
            set
            {
                Set(ref additionalSelectedLevelData, value);
                Debug.WriteLine(value);
            }
        }

属性 更改值,我使用 Debug.WriteLine(value);

检查它

我已经实现了INotify属性Changed(Set(ref additionalSelectedLevelData, value);),设置绑定模式为TwoWay,设置UpdateSourceTrigger=属性Changed.

我尝试添加 TextBox 并绑定到他的 Text 属性 相同的字符串值,并得到相同的结果,但是当我在 TextBlock 和 TextBox 上显示的文本框字符串中键入时。我有什么想法。绑定路径正确率 100%。

我已经从 运行 文本中删除了 UpgradeViewModel,因为 TextBlock 已经绑定到它。出于同样的原因,还从 运行 Text 中删除了静态资源。 只要 INotifyPropertyChanged 正确实施并且 ViewModel 定位器工作,那么它应该工作正常

<TextBlock Margin="10,0" DataContext="{Binding UpgradeViewModel, Source={StaticResource Locator}}">
    <Run Text="Other features: " FontWeight="Bold"/>
    <Run Text="{Binding AdditionalSelectedLevelData, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
</TextBlock>

我创建了两次 ViewModel,我修复了它并出现了问题 消失了。