Я использую Pages
в XBAP точно так же, как я бы использовал Window
объект в WPF. То есть редко.
У меня обычно есть одна страница / окно для моего приложения, и это все. Переключение текущего представления обычно выполняется переключением свойства CurrentView
в моем ApplicationViewModel
, которое изменяет то, что представление отображается на главной странице.
Я использую UserControls
, когда хочу создать какой-то общий элемент управления или для своего Views
. Мой Views
также может быть DataTemplates
, и для меня нередко иметь представление UserControl, которое также имеет другие представления в UserControl.Resources
(при условии, что все представления связаны)
Например, у меня может быть UserControl с именем ProductsView
, который представляет собой представление, отображающее список Product
объектов, а UserControl.Resources
будет содержать DataTemplate с именем ProductView
, который определяет, как WPF должен отображать ProductModel
.