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

Wpf 为什么ItemTemplate会使ListView中的项目消失?,wpf,listview,data-binding,windows-phone-8.1,Wpf,Listview,Data Binding,Windows Phone 8.1,我正在解决Windows Phone 8.1 ListView抖动问题,代码如下,但是,一旦我添加ItemTemplate,列表的内容就看不见了,我想知道为什么以及如何解决这个问题 <ListView Grid.Row="1" x:Name="ListViewEvents" Loaded="OnListViewEventsLoaded" ItemsSource="{Binding xx}"

我正在解决Windows Phone 8.1 ListView抖动问题,代码如下,但是,一旦我添加ItemTemplate,列表的内容就看不见了,我想知道为什么以及如何解决这个问题

 <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>


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

网格中没有任何内容,当然它看起来不可见。如果您想查看一些内容,请尝试为网格添加一些
Background
。那只是为了测试。您需要一些其他的内容控件来显示每个项目的值。@KingKing我以为它应该显示ItemsSource中的项目,没有ItemTemplate的原始代码也没有背景,但是项目可以显示。您看到显示的项目了吗
ListViewItem
是一个
ContentControl
,您更改项目模板时没有将任何
内容
与内部控件挂钩,如何显示?顺便说一句,在默认模板中,它有一个
ContentPresenter
——这有助于显示内容供您查看。@KingKing否,您无法从itemsource中查看项目。我试着把ItemSource放在ItemTemplate中,但它不起作用,似乎我不能把它放在ItemTemplate中,你知道如何修改代码以便我可以显示ItemSource中的项目吗?谢谢大家!<代码>项目模板
仅适用于1个项目。我不明白你想要什么。这里的问题是没有显示任何项目。尝试搜索他们如何创建
ItemTemplate
ListView
,您将得到答案。它很简单,例如您可以在
网格中添加
,以查看它的工作情况。感谢您抽出时间。我没有粘贴所有的代码,我的错。EventsListGrid是包含此ListView的网格的名称。你有什么建议吗?