出于两个不同的目的使用相同的WPF窗口
我有一个用VB编写的WPF应用程序,有几个窗口。这些窗口中有几个控件供用户输入数据。然后将这些数据保存到数据库中。我希望用户能够编辑给定的一组数据,使用输入数据的同一窗口会方便得多。根据用户是单击“添加”还是“编辑”,我希望在窗口后面运行不同的代码出于两个不同的目的使用相同的WPF窗口,wpf,vb.net,Wpf,Vb.net,我有一个用VB编写的WPF应用程序,有几个窗口。这些窗口中有几个控件供用户输入数据。然后将这些数据保存到数据库中。我希望用户能够编辑给定的一组数据,使用输入数据的同一窗口会方便得多。根据用户是单击“添加”还是“编辑”,我希望在窗口后面运行不同的代码 我的问题是我不知道如何区分这两个事件。主窗口类有“添加”和“编辑”按钮。单击时,它们会创建一个新选项卡,其中包含“Data.xaml”的新实例。“Data.xaml”后面有“Data.vb”。“Data.vb”如何判断它应该执行“编辑”还是“添加”代
我的问题是我不知道如何区分这两个事件。主窗口类有“添加”和“编辑”按钮。单击时,它们会创建一个新选项卡,其中包含“Data.xaml”的新实例。“Data.xaml”后面有“Data.vb”。“Data.vb”如何判断它应该执行“编辑”还是“添加”代码?简单的解决方案是向
Data
类添加一些属性,这些属性将告诉我们应该执行什么操作:
Public Partial Class Data Inherits Window
// ...
Public Property Mode As Mode
// ...
End Class
其中,模式
是带有两个字段的枚举:添加
和编辑
在添加的单击处理程序中,将按钮设置为模式。添加,在编辑的单击处理程序中,将按钮设置为模式。编辑
如果要防止在构建窗口后更改模式
,可以创建将模式作为参数的新构造函数:
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中的逻辑中查看模式
,并执行适当的操作
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
仅供参考的问题是VB,所以相应地翻译代码可能会很好。@Craig谢谢。我没有注意到vb.net
tag。我应该更清楚一点-Data
是一个包含在框架中的类,而框架又包含在tabitem中。我的问题是通过帧传递信息。。。