Design DataContext无法按预期工作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Design DataContext无法按预期工作相关的知识,希望对你有一定的参考价值。

在一个新的WP8.1项目中,我创建了一个ViewModel并将其用于设计数据。我的绑定没有显示我期望的值:

namespace App1
{
    public class ViewModel
    {
        public ViewModel()
        {
            this.Name = "hello world";
        }

        public string Name
        {
            get; set;

        }
    }
}

<Page
    x:Class="App1.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:App1"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    d:DataContext="{d:DesignInstance local:ViewModel}">

    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <TextBlock Text="{Binding Name}" />
    </Grid>
</Page>

在Blend的设计图面或Visual Studio的设计器中,看到的是文本“名称”,而不是“ hello world”。

Page的设计时DataContext应该是我的ViewModel的实例,{Binding Name}应该是我继承的DataContext的Name属性的值。我在这里想念什么?

答案

默认情况下,DesignInstance尝试模拟视图模型中的数据。如果要使用实际数据,则需要设置IsDesignTimeCreatable标志:

d:DataContext="{d:DesignInstance local:ViewModel, IsDesignTimeCreatable=True}"
另一答案

原来您需要构建非ARM才能正常工作。

问题是我正在使用ARM配置(当我想部署到Phone时切换到该配置),并且我已经更改了x86配置以构建ARM。因此,无论我选择了ARM还是x86配置,它都可以构建ARM,因此无法正常工作。

以上是关于Design DataContext无法按预期工作的主要内容,如果未能解决你的问题,请参考以下文章

couchdb/cloudant 更新处理程序未按预期工作

willPresentNotification 无法按预期工作

地理围栏无法按预期工作

UIViewPropertyAnimator 无法按预期工作

酶按钮模拟无法按预期工作

异步方法无法按预期工作