【问题标题】:close wpf user control in VB.NET在 VB.NET 中关闭 wpf 用户控件
【发布时间】:2013-12-14 21:06:36
【问题描述】:

我被这个问题困住了,请帮忙。

我创建了一个名为 "CreateNewCase_uc" 的用户控件,我在其中创建了一个名为 "btnClose"

的关闭按钮

在我的 MainWindow 中,我使用此代码创建了一个名为 "grid1" 的 Grid 和一个名为 "btnCreateNewCase" 的按钮

Private Sub btnCreateNewCase_Click(sender As Object, e As RoutedEventArgs)

        Dim cnc As CreateNewCase_uc = New CreateNewCase_uc
        grid1.Children.Clear()
        grid1.Children.Add(cnc)
    End Sub

我的问题:我需要为用户控件内部的 bntClose 按钮​​编写哪个代码,以关闭或使 VB.NET 中的用户控件消失

提前感谢您的帮助。

【问题讨论】:

    标签: wpf vb.net


    【解决方案1】:

    您需要获取父控件,然后将其删除。

    ' from inside your close button on UC.
    Dim parent = TryCast(Me.Parent, Grid))
    If Not parent Is Nothing Then 
      parent.Children.Remove(Me)
    End If
    

    【讨论】:

    • 嗨,伙计们,我尝试了所有两个答案,它们都有效,我想,尝试许多无效的东西几乎让我发疯。非常感谢你,但是 DonA,请问这两种方式有什么区别
    • @Clemens 的版本只是将其更改为 Visibilty。如果不再需要,我的版本会删除整个控件,从而释放一些内存占用。
    • 好的,明白了。非常感谢
    【解决方案2】:

    您可以简单地将 UserControl 的 Visibility 设置为 Collapsed

    Private Sub btnCreateNewCase_Click(sender As Object, e As RoutedEventArgs)
        Me.Visibility = System.Windows.Visibility.Collapsed
    End Sub
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-27
      • 2015-12-28
      • 1970-01-01
      • 1970-01-01
      • 2010-10-09
      • 1970-01-01
      相关资源
      最近更新 更多