d:DesignInstance冻结了我的设计师

时间:2015-05-14 22:16:36

标签: c# wpf xaml win-universal-app

我有以下CollectionViewSource

<CollectionViewSource 
    x:Key="csvDataItemsGrouped" 
    IsSourceGrouped="True" 
    Source="{Binding DayItems, Mode=OneWay}" 
    ItemsPath="CalendarItems"
    d:Source="{Binding Groups, Source={d:DesignInstance Type=sData:SampleWeekDataSource, IsDesignTimeCreatable=True} }">
</CollectionViewSource>

我的SampleWeekDataSource看起来像这样:

public sealed class SampleWeekDataSource {        

    public SampleWeekDataSource() {
        _groups = new ObservableCollection<DayItem> {
            new DayItem(DateTime.Now) {
                CalendarItems = new ObservableCollection<CalendarItem> {
                    new CalendarItem(1, "test 1", DateTime.Now, DateTime.Now, "tralala")
                }
            }
        };
    }

    private ObservableCollection<DayItem> _groups = new ObservableCollection<DayItem>();
    public ObservableCollection<DayItem> Groups {
        get { return this._groups; }
    }

当我尝试重建项目时,设计师会短暂地显示该项目(但不是标题项目),而设计师只是挂起,整个过程占用了整个核心。

我对测试数据做错了吗?谢谢!

修改

所以我禁用了GroupStyle,现在设计师不再冻结了。可能是我的GroupStyle代码不正确吗?就是这样:

<ListView.GroupStyle>
                            <GroupStyle>
                                <GroupStyle.HeaderContainerStyle>
                                    <Style TargetType="ListViewHeaderItem">
                                        <Setter Property="Padding" Value="0, 0, 12, 10" />
                                        <Setter Property="MinHeight" Value="10" />
                                    </Style>
                                </GroupStyle.HeaderContainerStyle>
                                <GroupStyle.HeaderTemplate>
                                    <DataTemplate >

                                        <TextBlock 
                                           Margin="10,0,0,0"
                                           Text="{Binding DayDate, Converter={StaticResource cvtStringFormat}, ConverterParameter=\{0:ddd d\}}"/>
                                    </DataTemplate>
                                </GroupStyle.HeaderTemplate>

                            </GroupStyle>

                        </ListView.GroupStyle>

编辑2: 当我跟进视觉工作室的例子时,它仍然会冻结。

1 个答案:

答案 0 :(得分:1)

所以我做了一些挖掘,我想我发现了问题。我已经在Windows 10和新的Universal App项目上使用Visual Studio 2015进行编程。

我剥离了我的整个应用程序并创建了一个包含两个字符串的非常简单的分组可观察集合。设计师也是如此。项目在设计师中展示。但是,组模板仍然没有显示。是的,几秒钟后,整个设计师的流程都挂了,我不得不重新启动设计师。

现在作为最后一次尝试,我尝试在Visual Studio 2013和“旧版”中重新创建完全相同的问题。通用模板。猜猜看,一切都很完美!因此,在Visual Studio 2015或Windows 10中仍然存在一些可疑的东西。