Ich möchte meine Seite von Code-Seite füllen. Meine Seite XAML-Code ist hier:UWP laden nicht die UI-Daten von Code
<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>
Ich versuche, dies für das geladene Ereignis zu tun, aber die ObservableCollection nicht aktualisiert die Benutzeroberfläche. 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" });
}
Aber wenn ich die m_people Sammlung in der Mainpage() füllen, es funktioniert. Warum funktioniert das Page_Loaded nicht?
Wenn Sie den Ereignis-Listener nach der initializeComponent hinzufügen, kann die Funktion "Page_loaded" nicht aufgerufen werden, da die Seite bereits beim Initialisieren des Ereignisses geladen wurde –
Ich habe versucht, die zwei Zeilen zu wechseln, aber es hat nicht funktioniert – Tudnor