Призначені для користувача елементи управління (user controls) в silverlight - все про it і програмуванні

Сторінка 3 з 4

Призначений для користувача елемент управління (User Control)

  1. Продублюйте xaml і фоновий код для кожного екземпляра (home, work, billing)
  2. Перебудуйте стандартний xaml і підтримує код в елемент управління

Щоб не втрачати багато часу, ми будемо використовувати другий спосіб, оскільки нам не терпиться створити користувальницький елемент управління (UserControl). Для початку, вам треба буде натиснути правою кнопкою миші по проекту і вибрати Add. У межах секції шаблонів діалогового вікна виберіть Silverlight User Control і назвіть новий елемент управління Address.xaml

Призначені для користувача елементи управління (user controls) в silverlight - все про it і програмуванні

Малюнок 4-8. Створення призначеного для користувача елементу управління Address

До вашого проекту будуть додані два файли

Address.xaml виглядає дуже знайоме при відкритті.

It is, essentially, the same as Page.xaml, except the names have been changed to protect the innocent namespace. \

Реалізація елемента управління

Призначені для користувача елементи управління (user controls) в silverlight - все про it і програмуванні

Малюнок 4-9. Використання Outlining

Зверніть увагу на те, що ваш елемент управління знаходиться в правильному місці, але трохи вузьке. Видаліть атрибути ширини (Width) і висоти (Height) і зовнішнього користувача елементу управління,

Як тільки ви видалите їх, елемент управління буде вирівняний по центру, а також розширено для того, щоб вмістити в себе елементи управління,

Призначені для користувача елементи управління (user controls) в silverlight - все про it і програмуванні

Малюнок 4-10. Автоматична зміна розміру призначеного для користувача елементу управління

Додавання коду

Усі наступні кроки виконуються в AddressUserControl.xaml.cs:

  1. Додайте змінну примірника Address так само, як ви це робили раніше
  2. У конструкторі виділіть пам'ять для об'єкта Address і налаштуйте обробник події Loaded
  3. У реалізації Page_Loaded додайте новий обробник для події KeyDown табличній сітки
  4. Реалізація AddressGrid.KeyDown була вирізана і може бути вставлена ​​в Page.xaml.cs,

Використання призначеного для користувача елементу управління

Ми завершили створення призначеного для користувача елементу управління, але від нього немає толку поки ви його не розташуйте в файлі Page.xaml. Ось як треба це зробити:

  1. Збережіть всі файли
  2. У самій верхній частині Page.xaml додайте простір імен для вашої сторінки з префіксом на ваш смак (я просто використав jl). Intellisense дуже старається допомогти мені в цьому.

Призначені для користувача елементи управління (user controls) в silverlight - все про it і програмуванні

Малюнок 4-11. Додавання простору імен

Завершіть всі наступним рядком:

  • Тепер ви можете замінити ваш призначений для користувача елемент управління для всього вмісту Border в Page.xaml. Якщо ви ще не видалили Border, то видаліть і замініть своїм елементом управління, точно також як ви вставили б будь-який інший елемент керування в StackPanel,
  • багаторазове використання

    Давайте додамо ще один призначений для користувача елемент управління до StackPanel і змінимо підказки таким чином, щоб у нас було таке,

    Зверніть увагу, що додавання другого примірника AddressUserControl вимагає тільки наявності двох різних назв. До того, як ви запустите програму, досліджуйте Page.xaml.cs,
    using System.Windows.Controls;

    Вся логіка була експортована і Інкапсульована в призначеному для користувача елементі управління. Ви можете додати 2 (або 20) призначених для користувача елементу управління Address в ваш інтерфейс, не написавши й рядки коду. При цьому, запустивши програму, кожен елемент буде працювати незалежно і кожен підтримує комбінацію із клавішею Ctrl,

    Призначені для користувача елементи управління (user controls) в silverlight - все про it і програмуванні

    Малюнок 4-12. Два примірники одного користувача елементу управління