Не позволяйте TabControl воссоздавать своих дочерних элементов.

У меня есть IListмоделей представления, которые привязаны к TabControl. Этот IListне изменится в течение всего времени жизни TabControl.


    
        
    

Каждая модель представления имеет DataTemplate, который указан в ResourceDictionary.


    

Каждое из представлений, указанных в DataTemplate, достаточно ресурсоемко для создания, поэтому я бы предпочел создать каждое представление только один раз, но когда я переключаю вкладки, вызывается конструктор для соответствующего представления. Из того, что я прочитал, это ожидаемое поведение для TabControl, но мне не ясно, какой механизм вызывает конструктор.

Я просмотрел аналогичный вопрос, в котором используется UserControls, но предлагаемое там решение потребует от меня привязки к представлениям, что нежелательно.

34
задан Community 23 May 2017 в 12:34
поделиться