- 我有一個用戶名和密碼框。
- 它下面有一個按鈕。
- 當我點擊那個按鈕時,我想分析一下放入用戶名和密碼框的內容。
如何使用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