我是WPF和MVVM的新手,我正在尝试学习WPF如何与MVVM一起使用。为此,我制作了以下示例
<StackPanel>
<TextBox Text="{Binding MyString}" />
</StackPanel>
Run Code Online (Sandbox Code Playgroud)
class UserControl1ViewModel
{
public string MyString { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
<StackPanel>
<local:UserControl1 DataContext="{Binding UC1Property}"/> //tried binding the Usercontrol1VM obj on MainWindowVM
<Button Command="{Binding ShowMeOne}" Height="30" Content="ShowOne"/>
<Button Command="{Binding ShowMeAnother}" Height="30" Content="ShowAnother" />
</StackPanel>
Run Code Online (Sandbox Code Playgroud)
public MainWindow()
{
InitializeComponent();
this.DataContext = new MainWindowViewModel();
}
Run Code Online (Sandbox Code Playgroud)
class MainWindowViewModel
{
public MainWindowViewModel()
{
ShowMeOne = new RelayCommand(Prompt_ShowMeOne);
ShowMeAnother = new RelayCommand(Prompt_ShowMeAnother);
UC1Property.MyString = "Initial";
}
private void Prompt_ShowMeAnother(object obj)
{
global::System.Windows.MessageBox.Show("Another Should …Run Code Online (Sandbox Code Playgroud)