2016-04-12 28 views
0

Sayfamı kod tarafında doldurmak istiyorum. Sayfam xaml kodu burada:UWP UI verilerini koddan yüklemiyor

<Hub x:Name="MainPageHub" Grid.Row="1" > 
        <HubSection x:Name="HomeHub" Header="Home" DataContext="{x:Bind m_people, Mode=OneWay}"> 
         <DataTemplate> 
          <GridView x:Name="PeopleGrid" ItemsSource="{Binding Mode=OneWay}"> 
           <GridView.ItemTemplate> 
            <DataTemplate x:DataType="data:PeopleViewModel"> 
             <StackPanel Background="DarkGray" HorizontalAlignment="Left" Margin="6" Orientation="Horizontal"> 
              <Image Width="50" Height="50" Source="{x:Bind PictureUrl, Mode=OneWay}"/> 
              <TextBlock FontSize="15" Text="{x:Bind Happening, Mode=OneWay}"/> 
             </StackPanel> 
            </DataTemplate> 
           </GridView.ItemTemplate> 
           <GridView.ItemsPanel> 
            <ItemsPanelTemplate> 
             <ItemsWrapGrid MaximumRowsOrColumns="2" Orientation="Horizontal"></ItemsWrapGrid> 
            </ItemsPanelTemplate> 
           </GridView.ItemsPanel> 
          </GridView> 
         </DataTemplate> 
        </HubSection> 
        </Hub> 

Ben yüklenen olay için bunu yapmak çalışıyorum, ama ObservableCollection UI güncelleme yok. MainPage.xaml.cs:

public sealed partial class MainPage : Page 
    { 
     private ObservableCollection<PeopleViewModel> m_people { get; set;} 

     public MainPage() 
     { 
      this.InitializeComponent(); 
      this.Loaded += Page_Loaded; 
     } 

     private void Page_Loaded(object sender, RoutedEventArgs e) 
     { 
      m_people = new ObservableCollection<PeopleViewModel>(); 
      m_people.Add(new PeopleViewModel {Happening = "vaalam", DateTime = DateTime.Now, PictureUrl = "Assets/Data/Picture/1.png"}); 
      m_people.Add(new PeopleViewModel {Happening = "vaalam", DateTime = DateTime.Now, PictureUrl = "Assets/Data/Picture/2.png" }); 
      m_people.Add(new PeopleViewModel {Happening = "vaalam", DateTime = DateTime.Now, PictureUrl = "Assets/Data/Picture/3.png" }); 
     } 

Ama MainPage() içinde m_people koleksiyonunu doldururken, işe yarıyor. Page_Loaded neden çalışmıyor?

+0

Olay dinleyicisini initializecomponent öğesinden sonra eklediğinizde, olay başlatıldığında sayfa zaten yüklendiği için Page_loaded işlevini çağırmayabilir. –

+0

İki satırı değiştirmeyi denedim, ancak çalışmadı – Tudnor

cevap

0

Cevabı buldum! Sorun bu istenmeyen soru için üzgünüm private ObservableCollection<PeopleViewModel> m_people = new ObservableCollection<PeopleViewModel>();

için değiştirmek zorunda private ObservableCollection<PeopleViewModel> m_people { get; set;}

oldu!