- 我有一个用户名和密码框。
- 它下面有一个按钮。
- 当我点击那个按钮时,我想分析一下放入用户名和密码框的内容。
如何使用mvvm灯做到这一点?如何从文本框中获取文本与数据绑定propertynotifying thingy mvvm光
这是我在哪里:
XAML
...DataContext="{Binding Main, Source={StaticResource Locator}}">...
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0">
<TextBlock HorizontalAlignment="Left" Margin="10,0,0,0" TextWrapping="Wrap" Text="Username" VerticalAlignment="Top"/>
<TextBox HorizontalAlignment="Left" Height="72" Margin="0,27,0,0" TextWrapping="Wrap" Text="{Binding Username}" VerticalAlignment="Top" Width="456"/>
<TextBlock HorizontalAlignment="Left" Margin="10,99,0,0" TextWrapping="Wrap" Text="Password" VerticalAlignment="Top"/>
<PasswordBox HorizontalAlignment="Left" Height="72" Margin="0,126,0,0" Password="{Binding Password}" VerticalAlignment="Top" Width="456"/>
<Button Content="Log in" HorizontalAlignment="Center" Margin="167,203,169,0" VerticalAlignment="Top" Command="{Binding LogInCommand}"/>
</Grid>
视图模型
public class MainViewModel : ViewModelBase
{
public LoginCredentials LoginCredentials { get; set; }
public ICommand LogInCommand { get; private set; }
public MainViewModel()
{
LoginCredentials = new LoginCredentials();
LogInCommand = new RelayCommand(this.OnLogInCommand);
}
private void OnLogInCommand()
{
string testUsername = Username;
string testPassword = Password;
}
#region Properties
public string Username
{
get { return LoginCredentials.Username; }
set { LoginCredentials.Password = value; }
}
public string Password
{
get { return LoginCredentials.Password; }
set { LoginCredentials.Password = value; }
}
#endregion
}
MainPage.xaml.cs中
public partial class MainPage : PhoneApplicationPage
{
public MainPage()
{
InitializeComponent();
}
}
发生了什么事,此刻:
- 当我点击我的按钮时,LogInCommand运行和它激发我的方法OnLoginCommand。我在testUsername声明中加入了一个断点,以查看是否单击按钮时,用户名和密码反映了已放入的内容;他们都是空的。我必须做些什么来确保这些更新是因为某人正在输入或当按钮被按下时或者它是否正常工作?
我现在已经花了大约4周的时间学习mvvm并尝试获得简单的单击事件并绑定到工作。这根本没有意义...... doh。谢谢你的帮助!
P.S - 对于新来者,MVVM是否太混乱了?该文件是如此..浅谈细节。没有例子:(
请先查看本教程:http://blog.micic.ch/net/easy-mvvm-example-with-inotifypropertychanged-and-inotifydataerrorinfo – Tico