Sono abbastanza nuovo in C# e provo a sviluppare l'app UWP di Windows 10 come un progetto per hobby.C# XAML: l'interfaccia utente non si aggiorna dopo aver modificato un'istanza di ObservableCollection
Parte della MainBrowser.XAML
<GridView x:Name="browserPane" ItemsSource="{x:Bind fileInCurrentFolderList,Mode=OneWay}" SelectionChanged="browserPane_SelectionChanged" Margin="0,48,0,0">
<GridView.ItemTemplate>
<DataTemplate x:DataType="classes:Item">
<StackPanel Margin="10">
<Image Height="268" Width="200" Source="{x:Bind Thumbnail}" x:Phase="1" Stretch="UniformToFill"></Image>
<TextBlock Width="200" Text="{x:Bind Caption}" TextWrapping="Wrap" TextTrimming="CharacterEllipsis" MaxLines="2"/>
</StackPanel>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
Questa visualizzazione a griglia è legano a
public sealed partial class MainBrowser : Page
{
...
private ObservableCollection<Item> fileInCurrentFolderListUI = new ObservableCollection<Item>();
...
}
C'è un elenco di pulsante sul lato sinistro della app. Ogni pulsante chiamerà un metodo che restituirà un ObservableCollection<Item>
indietro.
Il problema è che ho bisogno di fare qualcosa di simile
foreach (Item file in ReturnObservableCollection)
{
fileInCurrentFolderList.Add(item);
}
Invece di questo
fileInCurrentFolderList = ReturnObservableCollection;
Per poter attivare l'aggiornamento nell'interfaccia utente. Come posso cambiarlo?
Grazie! Ora funziona come dovrebbe essere. – Suttisak
@Suttisak Prego. –
@ B.K. Uso fantastico di CallerMemberName. Ho sempre passato il valore del nome utente chiamante, e questo lo rende molto più elegante! Grazie! – RAB