按照this post建议的解决方案,我仍然无法使用我的定制类型的ListBox为我的Windows应用程序获取设计时数据。
XAML
    <Page
        x:Class="MyApp.MainPage"
        ...
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        mc:Ignorable="d"
        DataContext="{Binding MyCommunicator.MyClass}"
        <UserControl.Resources>
            <myCommunicator:MyClassDesignTime x:Key="DesignViewModel"/>
        </UserControl.Resources>
        <ListBox x:Name="ItemsListBox" d:DataContext="{Binding Source={StaticResource DesignViewModel}}">
        ...
                <ListBox.ItemTemplate>
        <DataTemplate>
            <StackPanel>
                <Grid>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="*"></ColumnDefinition>
                        <ColumnDefinition Width="2*"></ColumnDefinition>
                    </Grid.ColumnDefinitions>
                    <Grid.RowDefinitions>
                        <RowDefinition></RowDefinition>
                        <RowDefinition></RowDefinition>
                        <RowDefinition></RowDefinition>
                        <RowDefinition></RowDefinition>
                        <RowDefinition></RowDefinition>
                    </Grid.RowDefinitions>
                    <TextBlock Grid.Row="0" Grid.Column="0" Text="Name"/>
                    <TextBlock Grid.Row="0" Grid.Column="1" Text="{Binding Name}"/>我的自定义类型MyClassDesignTime是从MyClass继承的,它有一个无参数的构造函数和从属性(例如Name)返回的静态数据。在构建或运行我的应用程序时,我没有收到任何错误信息,但在设计期间,我看不到任何数据,只有一个空白屏幕(在我的XAML代码旁边的“电话预览”窗口中)。
发布于 2015-10-04 08:31:52
戈格塞尼格
在我的个人实践中,在Windows Phone/Windows Store/WPF中提供设计时间数据的最简单方法,项目,是使用Blend生成一些样本数据。
使用混合打开您的项目。转到“数据”选项卡,右转“混合”,创建“示例数据/新示例数据”。

然后使用预期在数据项中找到的相同属性设计设计时集合。

然后将集合从“数据”选项卡拖到设计视图或“对象和时间线”窗口的控件中。然后将编写绑定代码。

将作出下列装订:
<ListBox DataContext="{Binding Source={StaticResource FurnitureDataSource}}"
  ItemsSource="{Binding Groups}"/>然后你就可以观察你的计划了。您将在项目中添加一些.xaml示例数据,保存可以手动修改的示例数据--或者使用数据窗口编辑、更改数量。
您还将添加一个表示数据的类和一个.xsd文件。
您可以重新工作生成的代码来使用您的类,但是您需要安排xsd,文件,.我不相信这是最好的练习。我喜欢上两门课:我的和混和的。所以我的课在技术上可以变得更复杂,而且样本数据总是可以工作的。
有时,当我更改一个属性名时,我将不得不在混合中重构。
问候
https://stackoverflow.com/questions/32927387
复制相似问题