私は mvvm の概念の初心者です。サンプル アプリケーションを 1 つ試しました。名前と ID の 2 つのテキスト ボックス、1 つの送信ボタン、1 つのラベルが含まれています。送信ボタンをクリックすると、テキスト ボックスの 2 つの文字列が結合され、ラベルに表示されます。
私は値を送信することができ、ビューモデルではプロパティに結果が含まれています.しかし、ビューに表示されません.なぜ..?
ビューに含まれる
<grid>
<TextBox Grid.Column="1" Grid.Row="1" Text="{Binding name}" Height="23" Margin="9" Name="txtname" Width="120" />
<TextBox Grid.Column="1" Grid.Row="2" Text="{Binding id}" Height="23" Margin="9" Name="txtid" Width="120" />
<Button Command="{Binding submit}" Content="submit" Grid.Column="2" Grid.Row="2" Height="23" Name="btnsubmit" Width="75" />
<Label Content="{Binding display}" Grid.Row="3" Height="38" HorizontalAlignment="Left" Name="lbldisplay" Width="192" />
</grid>
view.csコードは
public MainWindow()
{
InitializeComponent();
DataContext = new DemoViewModel();
}
私のビューモデルには2つの.csファイルが含まれています
1 つは DemoViewModelInotify.cs.in で、これに inotifypropertychanged のコードを記述します。もう 1 つは DemoViewModel.cs です。これには、プロパティとコマンドが含まれています。
namespace mvvmdemonixon.ViewModel
{
public class DemoViewModel :DemoViewModelInotify
{
public ICommand submit { get; set; }
public string name { get; set; }
public string display { get; set; }
public int id{get;set;}
public DemoModel model { get; set; }
public DemoViewModel()
{
submit = new DelegateCommand<object>(this.add);
}
public void add(object paramter)
{
string a= mvvmdemonixon.Model.DemoModel.addstring(name, id);
display = a;
}
}
}
私のモデルには含まれています
namespace mvvmdemonixon.Model
{
public class DemoModel
{
public static string addstring(string name1, int no1)
{
string display = "The Student Name Is " + name1 + "and Id Is" + no1 + ".";
return display;
}
}
}
私のapp.xaml.csで
private void OnStartup(object sender, StartupEventArgs e)
{
mvvmdemonixon.MainWindow view = new MainWindow();
view.DataContext = new mvvmdemonixon.ViewModel.DemoViewModel();
view.Show();
}
私のアプリのxamlで
<Application x:Class="mvvmdemonixon.App"
Startup="OnStartup">
</Application>
よろしくお願いします..