向usercontrol资源添加了实体Dummy,但Visual Studio抱怨它无法找到资源'Dummy'。是否可以通过这种方式添加设计数据?我做错了什么?
<UserControl x:Class="MovieScraper.Media"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:entity="clr-namespace:Processor.Entity;assembly=Processor"
mc:Ignorable="d"
d:DataContext="{StaticResource ResourceKey=Dummy}"
d:DesignHeight="300" d:DesignWidth="300" Background="White">
<UserControl.Resources>
<entity:Media x:Key="Dummy" Title="Akira"></entity:Media>
</UserControl.Resources>
<Grid>
<TextBlock Text="{Binding Title}"></TextBlock>
</Grid>
</UserControl>
答案 0 :(得分:3)
我会创建一个MockDataContext模型。这非常好用。这是我的代码片段:
<UserControl x:Class="Modules.Core.Views.HeaderView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:viewModels="clr-namespace:Modules.Core.ViewModels"
mc:Ignorable="d"
d:DesignHeight="100" d:DesignWidth="1024">
<Grid d:DataContext="{d:DesignInstance Type=viewModels:MockHeaderViewModel, IsDesignTimeCreatable=True}">
</Grid>
</UserControl>
最大的好处是你可以实际运行一些代码。例如,我用它在设计时更新标题中的时间并改变一些字段。您可以立即查看绑定工作和布局是否为组件提供了足够的空间。
答案 1 :(得分:1)
您正在尝试将d:DataContext绑定到资源Dummy,但您缺少关键字绑定。请将此行更改为
d:DataContext="{Binding Source={StaticResource Dummy}}