Я хочу, чтобы список из Temp файлы в WPF XAML с использованием MVVM Связывание с INotifyPropertyChanged
.Bind системы информация, связанная в WPF с помощью INotifyPropertyChanged
The View Model является 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();
}
}
}
файлы в папке Temp может изменяться в зависимости время от времени. Мне нужно обновить его автоматически, когда файлы обновляются в папке Temp, используя INotifyPropertyChanged
в XAML UI
Как я мог связать его в 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();
}
}
Я не в состоянии получить обновленный список FileName в пользовательском интерфейсе. Пожалуйста, помогите мне, как обновлять пользовательский интерфейс, когда файлы добавляются или удаляются в папке Temp?
может вас любезно продумайте его, пожалуйста, с точки зрения кода? –
в течение двух минут у вас есть два _very_ похожих ответа. Это говорит о том, что это не очень сложно сделать. Я не буду поставлять весь код. Я предлагаю вам ознакомиться с интерфейсом «INotifyCollectionChanged», а затем попробовать сами! –