Ich wünsche die Temp-Dateien im WPF XAML zur Liste Verwendung von MVVM Bindung mit INotifyPropertyChanged
.Bind-System bezogenen Informationen in WPF mit INotifyPropertyChanged
The View Modell ist TempViewModel.cs
class TempViewModel : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
public List<FileInfo> CacheFiles
{
get
{
string path = Environment.GetFolderPath(Environment.SpecialFolder.InternetCache);
System.IO.DirectoryInfo di = new DirectoryInfo(path);
return di.GetFiles().ToList();
}
}
}
Die Dateien im Temp-Ordner auf Zeit zu Zeit variieren. Ich brauche es automatisch zu aktualisieren, wenn die Dateien in dem Ordner Temp aktualisiert mit INotifyPropertyChanged
in dem XAML-UI
Wie kann ich binde es in der xMAL?
MainWindow.xaml
<Window x:Class="Binding.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<ListBox Name="LstProduct" ItemsSource="{Binding CacheFiles}" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=FullName}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
</Window>
MainWindow.xaml.cs
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
Loaded += new RoutedEventHandler(MainWindow_Loaded);
}
void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
this.DataContext = new TempViewModel();
}
}
ich nicht in der Lage können die aktualisierte Filename-Liste in der Benutzeroberfläche zu erhalten. Bitte helfen Sie mir, wie Sie die Benutzeroberfläche aktualisieren, wenn die Dateien im Temp-Ordner hinzugefügt oder gelöscht werden?
können Sie bitte erläutern Sie es bitte in Bezug auf den Code? –
innerhalb von zwei Minuten haben Sie zwei sehr ähnliche Antworten. Dies legt nahe, dass dies nicht sehr schwierig ist. Ich werde den ganzen Code nicht liefern. Ich schlage vor, Sie lesen auf der 'INotifyCollectionChanged'-Schnittstelle und versuchen es dann selbst! –