none
【C++/CX】导航页ListView控件数据绑定有一定概率显示不出内容 RRS feed

  • 问题

  • 用C++/CX开发一个uwp应用,在导航页中ListView控件绑定了一个Public属性:

    property Windows::Foundation::Collections::IVector<WebContentResolution::DirectorManager::DirectorInfo^>^ Directors;

    在大部分情况下,数据绑定都能够正常工作, 但问题是有一定概率导航到该页时数据显示为空白,根据Debug跟踪显示该Directors确实已被赋值。数据绑定mode为OneWay:

        <Page.Resources>
            <DataTemplate x:DataType="data:DirectorInfo" x:Key="ArticleDirectorDataTemplate">
                <Grid>
                    <TextBlock Text="{x:Bind DirectorName}"/>
                </Grid>
            </DataTemplate>
        </Page.Resources>
        <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
            <ListView ItemsSource="{x:Bind Directors,Mode=OneWay}" ItemTemplate="{StaticResource ArticleDirectorDataTemplate}" x:Name="DirectorListView" IsItemClickEnabled="True" ItemClick="DirectorListView_ItemClick">
                <ListView.ItemContainerStyle>
                    <Style TargetType="ListViewItem">
                        <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
                    </Style>
                </ListView.ItemContainerStyle>
            </ListView>
        </Grid>
    为什么会出现这种概率性的事件,有时能正常显示,有时则无法显示数据。数据绑定的问题还是异步执行的问题?

    2016年4月20日 15:18

答案

  • 你好,今天偶然间解决了问题,出现这种概率性不显示内容的原因是在MainPage类构造的时候没有对绑定的属性进行初始化导致的,在构造函数里加上一句:

    Directors = ref new Platform::Collections::Vector<WebResolution::CDirectorItem^>;

    就不会出现出现偶然空白页的情况。

    感谢你的回答!


    Taoism_No_Repeat

    2016年4月28日 14:58

全部回复

  • 您好,

    如果只是看您贴出来的代码,没有发现什么问题,不知道你的数据源是怎么初始化的,也许像您说得跟异步执行有关系,具体需要看您的代码才能确定。您最好就是将您的可重现代码上传到OneDrive网盘上,将链接分享在这儿,这样可以快速的找出问题所在。


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2016年4月22日 6:24
    版主
  •  https://onedrive.live.com/redir?resid=741C9096CF9EC859!342160&authkey=!AJjkCv-UJ55v3fM&ithint=file%2crar

    连续启动APP十次,至少会遇到1-2次不显示内容。


    Taoism_No_Repeat

    2016年4月22日 13:00
  • C++/CX无法引用System命名空间

    Taoism_No_Repeat

    2016年4月25日 13:28
  • 你好,今天偶然间解决了问题,出现这种概率性不显示内容的原因是在MainPage类构造的时候没有对绑定的属性进行初始化导致的,在构造函数里加上一句:

    Directors = ref new Platform::Collections::Vector<WebResolution::CDirectorItem^>;

    就不会出现出现偶然空白页的情况。

    感谢你的回答!


    Taoism_No_Repeat

    2016年4月28日 14:58
  • 你好,今天偶然间解决了问题,出现这种概率性不显示内容的原因是在MainPage类构造的时候没有对绑定的属性进行初始化导致的,在构造函数里加上一句:

    Directors = ref new Platform::Collections::Vector<WebResolution::CDirectorItem^>;

    就不会出现出现偶然空白页的情况。

    感谢你的回答!


    Taoism_No_Repeat

    您好,

    谢谢您与我们共享解决方案,你可以将你的回复标记为答案,这样有利于其他其他遇到类似问题的开发者能够方便的找到答案。



    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2016年4月29日 3:29
    版主