none
如何在FlipView下使用多个ListView,并且如何设置数据源 RRS feed

  • 问题

  • HI;

        我本来有一个ListView,数据已设置好,并正常显示没有问题

       C#:

          Data.ViewModelBasicMateriel ViewModel = new Data.ViewModelBasicMateriel(); 

          LVTMBaiscGrossDetailView.DataContext = viewModel

         数据类定义:

     class ViewModelBasicMateriel
        {

            private ObservableCollection<TMSapTranBasicMateriel> tMSapTranBaiscMaterielView;
            public ObservableCollection<TMSapTranBasicMateriel> TMSapTranBaiscMaterielView { get { return tMSapTranBaiscMaterielView; } }

    TMSapTranBaiscMaterielView  的定义 :

     class TMSapTranBasicMateriel : INotifyPropertyChanged
        {

     

            //Materielcode
            private string materielcode;
            public string Materielcode
            {
                get { return materielcode; }
                set { SetProperty(ref materielcode, value); }
            }

     

            //Materielname       
            private string materielname;
            public string Materielname
            {
                get
                {
                    return materielname;
                }
                set { SetProperty(ref materielname, value); }
            }

      public event PropertyChangedEventHandler PropertyChanged;
            protected bool SetProperty<T>(ref T storage, T value, [CallerMemberName] String propertyName = null)
            {
                if (object.Equals(storage, value)) return false;

                storage = value;
                this.OnPropertyChanged(propertyName);
                return true;
            }
            protected void OnPropertyChanged([CallerMemberName] string propertyName = null)
            {
                var eventHandler = this.PropertyChanged;
                if (eventHandler != null)
                {
                    eventHandler(this, new PropertyChangedEventArgs(propertyName));
                }
            }
        }

    XAML:

       <ListView
                                                x:Name="LVTMBaiscGrossDetailView"
                                                SelectionMode="Single"                                        
                                           
                                                VerticalAlignment="Top"  HorizontalAlignment="Left"
                                                ItemsSource="{Binding TMSapTranBaiscMaterielView}"
                                                ItemContainerStyle="{StaticResource ListViewItemStyle2}"
                                                ItemTemplate="{StaticResource   TranListTemplate4}" >

                                </ListView>

    以上是ListView

    我在ListView上加入FlipView

       <FlipView x:Name="FVTMBaiscGrossDetailView" >
                                <ListView
                                                x:Name="LVTMBaiscGrossDetailView"
                                                SelectionMode="Single"                                        
                                           
                                                VerticalAlignment="Top"  HorizontalAlignment="Left"
                                                ItemsSource="{Binding TMSapTranBaiscMaterielView}"
                                                ItemContainerStyle="{StaticResource ListViewItemStyle2}"
                                                ItemTemplate="{StaticResource   TranListTemplate4}" >

                                </ListView>
                            </FlipView>

    在代码中

       List<Data.ViewModelBasicMateriel> viewModelFV = new List<Data.ViewModelBasicMateriel>();

        viewModelFV.Add(ViewModelDetail);
        viewModelFV.Add(ViewModelDetail);

       FVTMBaiscGrossDetailView.ItemsSource = viewModelFV;

    结果只显示以下的图片

    没有任何的数据显示,我想请教如何在FlipView下使用多个ListView,并且如何设置数据源?谢谢!

      


    maming 这是多么有趣的一件事情,如果这是说开发WIN8 APP的话

    2012年12月11日 2:57

全部回复

  • Hi,

    我不太清楚你的事怎么做的,我认为ListView是显示不出的,因为你直接XAML添加在FlipView底下,之后又在代码里设置ItemsSource,后面的数据会替换掉前面的。

    说实话我不建议你这样做,最好把所有的绑定到一个数据源,比如这个数据源是一个集合,包含着自定义的类,而自定义的类中也有集合和其他属性,其他的属性用于存储FlipView中的一些显示数据,而集合则可以继续给ListView的ItemsSource绑定,ListView添加到FlipView的DataTemplate中,我想这样做应该会好一些。


    Aaron
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2012年12月12日 10:27
    版主
  • Hi,

    我不太清楚你的事怎么做的,我认为ListView是显示不出的,因为你直接XAML添加在FlipView底下,之后又在代码里设置ItemsSource,后面的数据会替换掉前面的。

    说实话我不建议你这样做,最好把所有的绑定到一个数据源,比如这个数据源是一个集合,包含着自定义的类,而自定义的类中也有集合和其他属性,其他的属性用于存储FlipView中的一些显示数据,而集合则可以继续给ListView的ItemsSource绑定,ListView添加到FlipView的DataTemplate中,我想这样做应该会好一些。


    Aaron
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

       HI,

       1)<最好把所有的绑定到一个数据源>  您这里指的是LIST<自定义的类>这样的集合吗?

       2)<而自定义的类中也有集合和其他属性> 这一点我不太明白,能给出详细和示例吗?

       3)<其他的属性用于存储FlipView中的一些显示数据>

     

       

    maming 这是多么有趣的一件事情,如果这是说开发WIN8 APP的话

    2012年12月13日 1:28
  • Hi,

    我不太清楚你的事怎么做的,我认为ListView是显示不出的,因为你直接XAML添加在FlipView底下,之后又在代码里设置ItemsSource,后面的数据会替换掉前面的。

    说实话我不建议你这样做,最好把所有的绑定到一个数据源,比如这个数据源是一个集合,包含着自定义的类,而自定义的类中也有集合和其他属性,其他的属性用于存储FlipView中的一些显示数据,而集合则可以继续给ListView的ItemsSource绑定,ListView添加到FlipView的DataTemplate中,我想这样做应该会好一些。


    Aaron
    MSDN Community Support | Feedback to us
    Develop and promote your apps in Windows Store
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

       HI,

       1)<最好把所有的绑定到一个数据源>  您这里指的是LIST<自定义的类>这样的集合吗?

       2)<而自定义的类中也有集合和其他属性> 这一点我不太明白,能给出详细和示例吗?

       3)<其他的属性用于存储FlipView中的一些显示数据>

     

       

    maming 这是多么有趣的一件事情,如果这是说开发WIN8 APP的话

       接着说:

    3)<其他的属性用于存储FlipView中的一些显示数据> 我想实现的效果就是多个LISTVIEW实现平滑移动,像图片的浏览一样,也像ANDRIOD端的新闻APP一样,在多个分类下平滑移动,一个分类是一个LISTVIEW,这点在WIN8下可以用FLIPvIEW加LISTVIEW实现吗?

    4)<ListView添加到FlipView的DataTemplate中,我想这样做应该会好一些> 这一点非常赞同,FlipView这个控件很少用,介绍也不多,所以不知道用法。

      

        

    maming 这是多么有趣的一件事情,如果这是说开发WIN8 APP的话

    2012年12月13日 1:32