У меня есть TabControl, связанный с коллекцией моделей Viewmodels, которые переводятся в подходящий для рисования вкладку:
<Window.Resources>
<ResourceDictionary>
<DataTemplate DataType="{x:Type charting:LineFormatViewModel}">
<charting:LineFormatView />
</DataTemplate>
<DataTemplate DataType="{x:Type charting:IndexSettingsViewModel}">
<charting:IndexSettingsView />
</DataTemplate>
....
</ResourceDictionary>
</Window.Resources>
<TabControl ItemSource="Binding ViewModels" />
Я пытаюсь найти способ всегда рисовать TabControl на максимальной ширине и высоте любого из них. Пусть WPF Tabcontrol height принимает высоту самого большого элемента? упоминает несколько способов достижения этого в ответах (из чего я udnerstood):
- использование Grid с SharedSizeGroup - похоже, необходимо применить к DataTemplate в фактическом содержимом TabControl, который перезаписывает автоматическое представление чертежа, достигаемое с помощью отображения VM- > View, созданного в resourcedictionary
- Использование конвертера ширины/высоты, для чего мой TabControl должен быть привязан к набору элементов пользовательского интерфейса вместо viewmodels
Есть ли у кого-нибудь опыт решения подобной проблемы? Кажется, я поражаю больше стен каждый раз, когда я продвигаюсь по этому поводу.