小编wil*_*809的帖子

如何从用户控件中触发自定义事件?

我有一个非常有趣的任务,我需要帮助.描述如下:

我有一个用户控件(SomeUserControl),我在主窗口中使用.我完全在SomeUserControl上编写我的应用程序,主窗口正在托管SomeUserControl,没有别的.

现在我有一个关闭按钮(在SomeUserControl中),它应该关闭主窗口.原因是我不希望SomeUserControl中的任何东西关闭应用程序本身,而是从SomeUserControl触发事件,主窗口接收它,主窗口将关闭应用程序而不是SomeUserControl.

我该怎么做?我不熟悉创建和处理自定义事件的概念,所以如果有人能用文字和代码解释它,我将非常感谢你!

编辑:到目前为止,这是我的代码.

(在窗口2中)

Public Event CloseApp As EventHandler

Private Sub CancelButton_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles CancelButton.Click
    DialogResult = False
    RaiseEvent CloseApp(Me, New EventArgs)
End Sub
Run Code Online (Sandbox Code Playgroud)

(在主窗口中)公共loginPage作为新的LoginPage

Public Sub New()
    InitializeComponent()
    AddHandler loginPage.CloseApp, AddressOf Me.ShutDownJobChangeWindow
End Sub

Private Sub ShutDownJobChangeWindow(ByVal sender As Object, ByVal e As EventArgs)
    Application.Current.Shutdown()
End Sub
Run Code Online (Sandbox Code Playgroud)

目标:我想在窗口2中单击取消时关闭应用程序,但我不希望以窗口2自行关闭的方式执行此操作,而是通过向主窗口发送一些通知,并且主窗口关闭应用程序.

vb.net wpf events user-controls

12
推荐指数
1
解决办法
2万
查看次数

加载页面时Textbox.TextChanged触发.我该如何预防呢?

我遇到了textbox.textchanged事件的问题.我的文本框是数据绑定的,当加载页面时,textchanged事件触发器.如何防止它发生并且仅在用户进行任何类型的更改时触发?

data-binding wpf textbox textchanged

3
推荐指数
1
解决办法
5601
查看次数

VB.NET中的延迟执行

我需要延迟执行一行代码,比如5秒钟.但通过做

System.Threading.Thread.Sleep(5000)

整个UI挂起,我不希望这种情况发生.因为我希望能够在用户将能够看到的窗口中显示某些内容.有没有人知道实现这一目标的替代方案?

谢谢!

vb.net wpf timer

3
推荐指数
1
解决办法
2003
查看次数