首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WFP -打开新选项卡时的奇怪行为

WFP -打开新选项卡时的奇怪行为
EN

Stack Overflow用户
提问于 2013-08-03 18:13:03
回答 1查看 116关注 0票数 0

用户可以通过双击行或选择行并单击按钮从DataGrid中进行选择。

使用第一种方法,将初始化新页,但不会触发加载的事件。

使用第二种方法初始化新页面,旧方法触发卸载事件,新方法触发加载事件,新选项卡打开。

由于click和doubleclick事件都在触发相同的子事件,所以我不知道为什么其中一个不能工作--在不调试时,使用第一个方法生成新的选项卡,单击时启动加载的事件,但这在调试中没有显示。

代码语言:javascript
复制
Private Sub Reports_BalanceSheets_EditRecord(sender As Object, e As RoutedEventArgs)
    Try
        NewRecord = False
        Dim DGV As CustomControl.DGVx = Reports_BalanceSheets_Grid.FindName("Reports_BalanceSheets_DGV")
        If DGV.SelectedItems.Count = 1 Then
            Dim row As System.Data.DataRowView = DGV.SelectedItems(0)
            FormID = row("ID")
            Dim vName As String = row("Name")
            Dim vTab As CustomControl.STC_Tabx = Application.Current.MainWindow.FindName("Reports_BalanceSheetTab")
            Dim TabControl As CustomControl.STCx = Application.Current.MainWindow.FindName("AccountingReports_TabControl")
            Dim vImageSource As String = ReturnImageAsString("Profit_Loss.png", 16)
            If vTab Is Nothing Then
                Dim ReportsBalanceSheetFrame As New Frame

                Dim Tab As New CustomControl.STC_Tabx
                With Tab
                    .Name = "Reports_BalanceSheetTab"
                    .Header = " Edit " & vName & " "
                    .CloseButtonVisibility = DevComponents.WpfEditors.eTabCloseButtonVisibility.Visible
                    .TabToolTip = "Edit " & vName
                    .ImageSource = vImageSource
                    .Content = ReportsBalanceSheetFrame
                End With
                AddHandler Tab.Closing, AddressOf TabControl_TabClosing
                Dim vGrid As Grid = Application.Current.MainWindow.FindName("MainGrid_Website")
                RegisterControl(vGrid, Tab, Tab.Name.ToString)
                TabControl.Items.Add(Tab)


                Dim BalanceSheet As New Reports_BalanceSheet_Page
                ReportsBalanceSheetFrame.NavigationService.Navigate(BalanceSheet)
                TabControl.SelectedItem = Tab

            Else
                vTab.Close()
                Dim ReportsBalanceSheetFrame As New Frame
                Dim Tab As New CustomControl.STC_Tabx
                With Tab
                    .Name = "Reports_BalanceSheetTab"
                    .Header = " Edit " & vName & " "
                    .CloseButtonVisibility = DevComponents.WpfEditors.eTabCloseButtonVisibility.Visible
                    .TabToolTip = "Edit " & vName
                    .ImageSource = vImageSource
                    .Content = ReportsBalanceSheetFrame
                End With
                AddHandler Tab.Closing, AddressOf TabControl_TabClosing
                Dim vGrid As Grid = Application.Current.MainWindow.FindName("MainGrid_Website")
                RegisterControl(vGrid, Tab, Tab.Name.ToString)
                TabControl.Items.Add(Tab)

                Dim BalanceSheet As New Reports_BalanceSheet_Page
                ReportsBalanceSheetFrame.NavigationService.Navigate(BalanceSheet)
                TabControl.SelectedItem = Tab

            End If
        ElseIf DGV.SelectedItems.Count > 1 Then
            AppBoxValidation("You can only select one item at a time to edit!")
        Else
            AppBoxValidation("You must select an item to edit!")
        End If

    Catch ex As Exception
        EmailError(ex)
    End Try
End Sub
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-05 13:42:40

添加e.Handled解决了这个问题

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18035828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档