我很难在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>
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));
}
}
}
答案 0 :(得分:1)
在博客文章A significant update to the XAML Designer 功能影响部分中,您可以看到XAML设计器不支持Sample数据,但支持设计器实例。请参阅博客以了解有关XAML Designer更新的更多信息。
对于设计师实例的问题,您可以关注此反馈thread并提出您的想法。如果有对您很重要的功能,您也可以反馈它。