我有一个用VB编写的WPF应用程序,有几个窗口。这些窗口中有几个控件供用户输入数据。然后将该数据保存到数据库中。我希望用户能够编辑给定的数据集,并且使用输入数据的同一窗口会更方便。取决于用户是否单击"添加"或"编辑",我想在窗口后面运行不同的代码。
我的问题是,我无法弄清楚如何区分这两个事件。 MainWindow类有按钮" Add"和"编辑"。单击时,它们会创建一个新选项卡,其中包含" Data.xaml"的新实例。 " Data.xaml"有" Data.vb"在它背后。怎么能" Data.vb"告诉它是否应该执行"编辑"或"添加"码?
答案 0 :(得分:0)
简单的解决方案是向Data
类添加一些属性,告诉我们应该做什么:
Public Partial Class Data Inherits Window
// ...
Public Property Mode As Mode
// ...
End Class
其中Mode
是包含两个字段的枚举:Add
和Edit
。
在Add
按钮设置Mode
到Mode.Add
的点击处理程序中,在Edit
按钮设置Mode
到Mode.Edit
的点击处理程序中。
如果你想在窗口构造之后阻止更改Mode
,你可以创建一个新的构造函数,它将模式作为参数:
Public Partial Class Data Inherits Window
// ...
Public Sub New(mode As Mode)
Me.New()
Mode = mode
End Sub
Public ReadOnly Property Mode As Mode
// ...
End Class
然后在Data.vb
的逻辑中查看Mode
并执行适当的操作。
Private Sub AddButton_Click(sender As Object, e As RoutedEventArgs)
Dim dataWindow = New Data(Mode.Add)
dataWindow.ShowDialog()
End Sub
Private Sub EditButton_Click(sender As Object, e As RoutedEventArgs)
Dim dataWindow = New Data(Mode.Edit)
dataWindow.ShowDialog()
End Sub