WPF MVVM VB.Net多视图应用程序
救命啊!已经一周了,我开始尝试在VB.NET中构建MVVM应用程序。不幸的是,98%的文档是面向C的。我发现了一些线索,但我仍然没有所有的答案 我想做什么: 具有3个视图的应用程序:loginView、View1和View2。如果没有用户连接,则显示loginView(正常)。当用户连接时,我应该加载有关其权限的View1或View2 这应该很简单,但由于我几乎找不到这个拼图的碎片,我几乎失去了我所有的头发 第一期: 在loginView中,如何检查用户凭据? 由于我无法将任何属性绑定到PasswordBox,我发现一些文档说我应该这样做:WPF MVVM VB.Net多视图应用程序,wpf,vb.net,mvvm,multiple-views,Wpf,Vb.net,Mvvm,Multiple Views,救命啊!已经一周了,我开始尝试在VB.NET中构建MVVM应用程序。不幸的是,98%的文档是面向C的。我发现了一些线索,但我仍然没有所有的答案 我想做什么: 具有3个视图的应用程序:loginView、View1和View2。如果没有用户连接,则显示loginView(正常)。当用户连接时,我应该加载有关其权限的View1或View2 这应该很简单,但由于我几乎找不到这个拼图的碎片,我几乎失去了我所有的头发 第一期: 在loginView中,如何检查用户凭据? 由于我无法将任何属性绑定到Pass
<Button x:Name="btnLogin" Content="Log in"
Command="{Binding Path=AuthenticateUser}"
CommandParameter="{Binding ElementName=txtPassword}"/>
第二期:
用户连接后,如何切换到View1或View2?我读到一些文件说我应该使用我的观点的可观察的集合,并在其中导航。但是我应该更改MainWindowView的datacontext。在VB中仍然没有找到正确的方法
我不想让你为我做任何事,相反,我想找到一个简单的教程,可以清楚地解释它是如何在VB中工作的
谢谢你的帮助 您可以将命令参数强制转换为
密码框
:
Dim _relayCmd As New RelayCommand(AddressOf Authentication, Function(obj As Object)
Return True
End Function)
Public ReadOnly Property AuthenticateUser As ICommand
Get
Return _relayCmd
End Get
End Property
Private Sub Authentication(ByVal _passwordBox As Object)
Dim passwordBox = TryCast(_passwordBox, PasswordBox)
'do something...
End Sub
至于你的第二期,你没有提供足够的细节。但是如果你有其他问题,请问另一个问题。你又一次救了我的命!既然是你写的,答案似乎很明显!非常感谢。
Dim _relayCmd As New RelayCommand(AddressOf Authentication, Function(obj As Object)
Return True
End Function)
Public ReadOnly Property AuthenticateUser As ICommand
Get
Return _relayCmd
End Get
End Property
Private Sub Authentication(ByVal _passwordBox As Object)
Dim passwordBox = TryCast(_passwordBox, PasswordBox)
'do something...
End Sub