WPF: передача элемента управления TabItem классу контроллера - PullRequest
0 голосов
/ 01 декабря 2009

Я использую WPF и TabControl в качестве Menu. Это генерирует много кода за кодом, потому что один файл контролирует все действия пользователя. Тогда я думал, что смогу использовать класс Controller для каждого TabItem. Я использовал это, и это работает, но мне не нравится результат. Я должен использовать метод FindName() на TabItem, который я передаю Controller, и он генерирует некрасивый код, который трудно отладить (по крайней мере, на мой взгляд).

Так есть ли способ передать TabItem, чтобы я мог найти элементы управления на странице xaml в моем Controller?

Например, у меня есть TabItem1, TabItem2 и TabItem3. Каждый из них содержит страницу для использования пользователем. Затем я хочу передать TabItem1 контроллеру TabItem1Controller. На данный момент я делаю это так:

public TurbineController(TabItem tab)
    {
        _client = tab;
    }

Но тогда я должен использовать метод FindName().

Возможен ли мой запрос?

1 Ответ

0 голосов
/ 01 декабря 2009

Вы получили это задом наперед, по крайней мере, к подходу MVVM. Контроллер (TurbineContoller) не должен ссылаться на представление (TabItem), представление должно ссылаться на контроллер. Создайте коллекцию контроллеров и свяжите данные с коллекцией в tabcontrol. Текст данных каждой вкладки будет контроллером, к которому будет привязана база данных.

...