XAML中的DesignInstance,VS2017在设计时不显示数据

时间:2017-12-26 21:57:20

标签: c# xaml uwp uwp-xaml

我很难在VS2017中的UWP应用程序的设计时创建必要的数据。我创建了一个简单的项目来处理我的问题。 在这种情况下,我的DesignInstance DataContext有什么问题? VS 2017在设计时没有显示任何内容 - 当我在page.resources中添加“真实”数据上下文时,它显示数据。

视图

    <Page
    x:Class="SpeedboatExplorer.Views.WelcomePage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:SpeedboatExplorer.Views"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:viewModels="using:SpeedboatExplorer.ViewModels"
    mc:Ignorable="d"
    d:DataContext="{d:DesignInstance viewModels:MockWelcomeViewModel, IsDesignTimeCreatable=True}">
    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <TextBox Text="{Binding Input}"></TextBox>
        <TextBox Text="{Binding Title}"></TextBox>
    </Grid>
</Page> 

MockViewModel

namespace SpeedboatExplorer.ViewModels
{
    public  class MockWelcomeViewModel : INotifyPropertyChanged
    {
        private string _title;
        private string _input;

        public string Title
        {
            get { return _title; }
            set
            {
                _title = value;
                OnPropertyChanged(nameof(Title));
            }
        }

        public string Input
        {
            get => _input;
            set
            {
                _input = value;
                OnPropertyChanged(nameof(Input));
            }
        }

        public MockWelcomeViewModel()
        {
            _title = "Welcome Page";
            _input = "input text";
        }

        public event PropertyChangedEventHandler PropertyChanged;

        [NotifyPropertyChangedInvocator]
        protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
        {
            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
        }
    }

}

1 个答案:

答案 0 :(得分:1)

在博客文章A significant update to the XAML Designer 功能影响部分中,您可以看到XAML设计器不支持Sample数据,但支持设计器实例。请参阅博客以了解有关XAML Designer更新的更多信息。

对于设计师实例的问题,您可以关注此反馈thread并提出您的想法。如果有对您很重要的功能,您也可以反馈它。