首页 > 解决方案 > WPF DesignInstace 导致将数据上下文的命名空间显示为字符串而不是绑定结果

问题描述

目前我遇到了奇怪的问题并尝试解释问题;

对于设计时间,我在 XAML 端使用以下设计实例

d:DataContext="{d:DesignInstance Type={x:Type viewmodels:AddMeasurementEnterDataBaseStep},
                                 IsDesignTimeCreatable=True}"

使用以下绑定扩展对文本进行本地化

public class LocExtension : Binding
{
    public LocExtension(string name)
        : base("[" + name + "]")
    {
        this.Mode = BindingMode.OneWay;
        this.Source = TranslationSource.Instance;
       
    }
}

LocExtension 的用法:(这里是资源的 XYData 键,通过资源管理器翻译)

<TextBlock Text="{ns:Loc XYData}" />

在运行时一切都按预期工作,但在设计时,它将绑定显示为文本。

设计时间:

在此处输入图像描述

运行

在此处输入图像描述

任何人都面临类似的问题?

根据此处提出的问题进行更新

我已经看到了,我可能正在激活'Enable Project Code in XAML'。但它以某种方式默认停用:

在此处输入图像描述

标签: c#wpfxamlbindinglocalization

解决方案


我在MSDN上找到了答案

对于面向 ARM 或 X64 处理器的项目,Visual Studio 无法在设计器中运行项目代码,因此禁用项目代码按钮在设计器中被禁用。

所以,对于 X64 目标项目,我没有机会 :)


推荐阅读