VS2010 - 寻找ListBox DataTemplate问题的设计器支持解决方法

时间:2011-02-16 14:30:46

标签: visual-studio-2010 windows-phone-7 designer


我在WP7项目中遇到VS2010 Designer的小问题。 XAML看起来像这样:

   <ListBox ItemsSource="{Binding Children}">
        <ListBox.ItemTemplate>
            <DataTemplate>
                <Button Tools:ButtonBaseExtensions.Command="{Binding ClickedCommand}" 
                        Style="{StaticResource InvisibleButtonStyle}">
                    <Grid DataContext="{Binding Gui}">
                        <TextBlock Text="{Binding Label}"/>
                    </Grid>
                </Button>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>

在模拟器中按预期工作,但在设计器中没有给我任何输出。

但是,如果我将代码更改为此,设计师可以正常工作

  <ListBox ItemsSource="{Binding Children}">
        <ListBox.ItemTemplate>
            <DataTemplate>
                <Button Tools:ButtonBaseExtensions.Command="{Binding ClickedCommand}" 
                        Style="{StaticResource InvisibleButtonStyle}">
                    <Grid>
                        <TextBlock Text="{Binding Gui.Label}"/>
                    </Grid>
                </Button>
            </DataTemplate>
        </ListBox.ItemTemplate>
    </ListBox>

任何人都可以确认这是设计师的错误吗?如果是这样,任何简单的解决方法?我不想以不同的方式更改我的XAML或构造我的控件,只是为了支持设计师。

谢谢, 克里斯

1 个答案:

答案 0 :(得分:0)

有些人提出类似的问题 - 与绑定中的嵌套项集合有关。一般的经验是,如果你在物品中有物品,那么事情可能不会像你期望的那样(或者可能在其他地方看到)。

表现不同可能并非意图 试试“官方”论坛(http://forums.create.msdn.com/forums/98.aspx),确认这是否是“错误”。

您可能还想同时重新考虑您的模型结构,因为您可能遇到其他相关问题。列表中的列表也可能存在性能问题,建议尽可能避免使用。