В WPF, если вы хотите переместить представление из одного окна в другое, использование DataTemplates приведет к уничтожению и воссозданности представления в новом окне, что означает, что вся информация о состоянии представления, которая не связана, теряется. и просмотреть пары моделей, которые я могу передать без воссоздания представления.
Код: Выделить всё
public class ViewModelPair
{
public IViewModel ViewModel { get; set; }
public UserControl View { get; set; }
}
< /code>
, который хранится как ussablecollection viewmodels {get; набор; }
В модели представления основного окна.
Каждая пара моделей представления/представления имеет DataTemplate , определенное так:
Однако, если я хочу использовать TabControl , я не могу привязать контент с свойствами представления и представления.
Код: Выделить всё
< /code>
Однако, что дает ошибки привязки от THRES: < /p>
Свойство ViewModel не найдено на объекте ContentControl < /p>
< /blockquote>
и < /p>
. />
Если я делаю
эта привязка работает, но я просто вижу имя ViewModelPair как объект DataTemplate не существует для ViewModelPair (оно только существует для дочернего представления и viewMode . /> Как я мог достичь этого желаемого поведения, где я могу сохранить представление и представление модели, кэшированной вместе, и выполнить эту работу с TabControl /
?>
Подробнее здесь:
https://stackoverflow.com/questions/797 ... view-and-v