Usuário com melhor resposta
Controles WPF no Windows Forms

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
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- Marcado como Resposta Adriel CodecoModerator sexta-feira, 4 de março de 2011 01:34
Todas as 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- Marcado como Resposta Adriel CodecoModerator sexta-feira, 4 de março de 2011 01:34