none
Controles WPF no Windows Forms RRS feed

  • Pergunta

  • Olá Bom dia. Estou fazendo uns testes usando os controles Wpf dentro do Windows Forms e já consegui alguma coisa. Mas não consigo fechar o Formulário atráves de um botão. Criei um evento no User Control e vinculei este evento ao botão fechar no arquivo xaml. No form criei um método dentro do qual tento fechar o form assim: this.Close();de dentro do User Control chamo esse método e ele realmente o acessa, mas não fecha o formulário. Alguém aí pode me dar uma dica
    J. Antunes
    segunda-feira, 28 de dezembro de 2009 12:12

Respostas

  • Uma maneira é expor o evento dentro do UserControl e chamar o código para fechar na janela principal. Por exemplo, neste código aqui coloquei um botão no ElementHost e chamo o código para fechar no evento Click, ligado à Form principal:

        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                System.Windows.Controls.Button wpfButton = new System.Windows.Controls.Button();
                wpfButton.Content = "Fechar";
                wpfButton.Click += new System.Windows.RoutedEventHandler(wpfButton_Click);
                elementHost1.Child = wpfButton;
            }
    
            void wpfButton_Click(object sender, System.Windows.RoutedEventArgs e)
            {
                Close();
            }
        }
    Se quiser algum exemplo de expor o evento click no UserControl, veja aqui:

    http://social.msdn.microsoft.com/forums/pt-BR/wpfpt/thread/998a058f-17f3-4294-884c-c9a148bc35de/

    []s

    Bruno
    MVP Client Development - http://msmvps.com/blogs/bsonnino
    segunda-feira, 4 de janeiro de 2010 21:59

Todas as Respostas

  • Bom Dia. Ninguém sabe como fecho o aplicativo.


    J. Antunes
    terça-feira, 29 de dezembro de 2009 10:36
  • Uma maneira é expor o evento dentro do UserControl e chamar o código para fechar na janela principal. Por exemplo, neste código aqui coloquei um botão no ElementHost e chamo o código para fechar no evento Click, ligado à Form principal:

        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                System.Windows.Controls.Button wpfButton = new System.Windows.Controls.Button();
                wpfButton.Content = "Fechar";
                wpfButton.Click += new System.Windows.RoutedEventHandler(wpfButton_Click);
                elementHost1.Child = wpfButton;
            }
    
            void wpfButton_Click(object sender, System.Windows.RoutedEventArgs e)
            {
                Close();
            }
        }
    Se quiser algum exemplo de expor o evento click no UserControl, veja aqui:

    http://social.msdn.microsoft.com/forums/pt-BR/wpfpt/thread/998a058f-17f3-4294-884c-c9a148bc35de/

    []s

    Bruno
    MVP Client Development - http://msmvps.com/blogs/bsonnino
    segunda-feira, 4 de janeiro de 2010 21:59