У меня есть список, содержащий имена файлов. У меня есть другой список, содержащий возможные действия для переименования этих файлов. Наконец, у меня есть метка, которая отображает предварительный результат. Когда объект выбран в каждом из списков, я хочу отобразить предварительный просмотр. Вы можете выбрать только один файл, но одно или несколько действий. Я использую WPF/Xaml для своего интерфейса. Я решил выполнить мой предварительный просмотр с помощью потока.
Вот часть моего кода:
private Thread _thread;
public MainWindow()
{
InitializeComponent();
_thread = new Thread(DoWork);
}
public void DoWork()
{
while (true)
{
FileData fileData = listViewFiles.SelectedItem as FileData; // ERROR HERE
if (fileData != null)
{
string name = fileData.FileName;
foreach (var action in _actionCollection)
{
name = action.Rename(name);
}
previewLabel.Content = name;
}
Thread.Sleep(1000);
}
}
private void listViewFiles_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
_thread.Start();
}
Во время выполнения я получаю сообщение об ошибке "Вызывающий поток не может получить доступ к этому объекту, потому что ему принадлежит другой поток". в файле FileData fileData = listViewFiles.SelectedItem как FileData; линия. Знаете ли вы, что мне делать?