Яка різниця між керуванням користувача та сторінкою в WPF?

Сторінка насправді є успадкованим UserControl. Велика різниця між ними полягає в тому Сторінка може бути завантажена у фрейм, і ви можете встановити назву, яка встановлює назву браузера (те, що ви не можете легко зробити в UserControl).

Основні сторінки дозволяють всьому веб-сайту мати загальний "вигляд і відчуття", які можна дуже легко змінити або виправити, не впливаючи на вміст і не змінюючи його. Елементи керування користувачами дозволяють повторно використовувати код і інкапсулювати функції в програмі, будь то веб-версія чи ПК.

Елементи керування користувачами є підрозділами представлення. Це дуже відрізняється від ViewModel, яка містить логіку, до якої прив’язаний View. Можливо, має сенс розбити ваш XAML на кілька користувацьких елементів керування, які керуються однією ViewModel. Можливо, має сенс розбити код XAML і C# на кілька пар View-VM.

Ви можете уникнути створення нових елементів керування, налаштувавши візуальний макет наявного елемента керування. За допомогою округленої кнопки ви створюєте ControlTemplate з бажаним візуальним макетом. З іншого боку, якщо вам потрібен елемент керування з новою функціональністю, іншими властивостями та новими параметрами, ви повинні створити новий UserControl.

Однак похідне від UserControl є відповідною моделлю якщо ви хочете створити свій елемент керування, додавши до нього існуючі елементи, подібно до того, як ви створюєте програму, і якщо вам не потрібно підтримувати складну настройку. (Якщо ви хочете використовувати шаблони з елементом керування, натомість отримайте від елемента керування.)