Методы организации окон WPF - PullRequest
0 голосов
/ 17 декабря 2009

Я занимаюсь разработкой приложения wpf. В основном у меня есть два типа окон: окна поиска и окна вставки / редактирования. Когда я разрабатывал приложения Win Form, я использовал трюк под названием MdiParent. Таким образом, у меня была возможность поместить окна с поисковым типом поиска в «стек». Другими словами, если бы я вызывал 5 разных окон поиска из меню, они появлялись в компоненте, таком как элемент управления вкладками, один за другим. Нажав на эти вкладки, я мог видеть результаты поиска в окне с нажатой вкладкой. Уловка, как я сказал, была техника MdiParent, как:

    private ProductDiscount frmProductDiscount = null;

private void ProductDiscountToolStripMenuItem_Click(object sender, EventArgs e)
{

         if ((frmProductDiscount == null) || (!frmProductDiscount.Visible))
        {
            frmProductDiscount = new ProductDiscount();
            frmProductDiscount.MdiParent = this;
            frmProductDiscount.Show();
        }
        else
        {
            frmProductDiscount.Activate();
        }
    }

Итак, кто-нибудь может мне предложить хороший способ реализовать такую ​​технику организации окон в WPF и добавить несколько ссылок или примеров ...? Это было бы для меня большой помощью.

Ответы [ 2 ]

1 голос
/ 17 декабря 2009

В WPF нет эквивалента Form.MDIParent, а MDI не поддерживает идею макета MDI. Вы можете установить владельца Windows на другое окно. Это минимизирует ребенка, когда родитель свернут.

Для примера функциональности в стиле MDI взгляните на эту тему текст ссылки где Марлон Греч написал нечто похожее на то, что, по-моему, вы пытаетесь сделать.

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

Мы разработали подобное приложение, так как WPF не имеет никакой инфраструктуры MDI по умолчанию, но, поскольку она полностью настраиваема, вы можете создавать пользовательские элементы управления своего «Окна» вместо типа «Окно» и использовать внутри TabControl и Вы можете настроить TabControl, чтобы иметь кнопки закрытия и т. д. Windows во вкладках, как они появляются в Visual Studio, IE и т. д., они хорошо работают для этого типа сценария, когда вы не хотите блокировать ввод пользователя в модальном диалоговом окне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...