为什么ItemTemplate会使ListView的项目消失?

时间:2015-10-20 21:20:07

标签: wpf listview data-binding windows-phone-8.1

我正在解决Windows Phone 8.1 ListView摇摆问题,并且有如下代码,但是,一旦我添加了ItemTemplate,就无法看到List的内容,我想知道为什么以及如何解决这个问题。< / p>

 <ListView
            Grid.Row="1"
            x:Name="ListViewEvents"
            Loaded="OnListViewEventsLoaded"
            ItemsSource="{Binding xx}"
            ItemTemplateSelector="{StaticResource xx}"
            ItemContainerStyle="{StaticResource xx}"
            IsItemClickEnabled="True">

            <ListView.ItemTemplate >
                <DataTemplate >
                    <Grid Width="{Binding ActualWidth, ElementName=EventsListGrid}" />
                </DataTemplate>
            </ListView.ItemTemplate>
        </ListView>

1 个答案:

答案 0 :(得分:0)

您的Width绑定正在尝试读取名为ActualWidth的XAML中元素的EventsListGrid属性,但您的示例代码中没有这样的元素&#39提供。因此,绑定引擎无法在网格上设置Width属性,很可能将其设置为某个未设置/ NaN值。至少我可以在设置与您提供的案例类似的案例时进行确认,并在Snoop中检查为ListViewItem绑定的测试集合中的每个项目生成的ListView个容器。在这种情况下,您可能希望将元素名称设置为ListViewEvents,或者在示例中未显示其他一些父元素?