こんにちは、WPF と Devexpress を使用しています。私はC#の世界に不慣れで、MVVMの経験がありません。MVVM を学ぶためにさまざまなビデオを見てきました。でもどれもMVVMの基本(なぜ効率がいいのかなど)に関係するので、WPFでコードを書いてみました。私のコードには 3 つのボタンがあります。新しいデータの追加、データの編集、グリッドの更新です。各ボタンには、その機能を定義するクリック イベントがあります。この単純で基本的な WPF コードを MVVM フレームワークに変換したいと考えています。MVVMへの変換について誰かが私を案内してくれますか? 版
void EditRow(int focRowHand, Entities a)
{
Name nametext = grid.GetRow(focRowHand) as Name;
try
{
if (nametext.Name1 != string.Empty)
{
update_id = nametext.ID;
txtName2.Text = update_text = nametext.Name;
if (Panel3.Visibility == System.Windows.Visibility.Visible)
{
Panel1.Visibility = System.Windows.Visibility.Visible;
Panel3.Visibility = System.Windows.Visibility.Collapsed;
}
else
{
Panel1.Visibility = System.Windows.Visibility.Collapsed;
Panel3.Visibility = System.Windows.Visibility.Visible;
}
}
}
catch (Exception err)
{
DXMessageBox.Show(err.StackTrace);
}
}
private void Button1_Copy_Click(object sender, RoutedEventArgs e)
{
if (view.FocusedRowHandle == 0)
{
DXMessageBox.Show("Please Select any Item From Grid List");
}
else
{
try
{
int FocRowHand = view.FocusedRowHandle;
Entities a = new Entities();
if (grid.IsGroupRowHandle(FocRowHand))
{
int childCount = grid.GetChildRowCount(FocRowHand);
for (int i = 0; i < childCount; i++)
{
int childHandle = grid.GetChildRowHandle(FocRowHand, i);
EditRow(childHandle, a);
}
}
else
{
EditRow(FocRowHand, a);
}
}
catch (Exception ee)
{
DXMessageBox.Show(ee.StackTrace);
}
}
}
挿入
private void Insertion()
{
if (txtName.Text != string.Empty)
{
if (DXMessageBox.Show("Are You Sure, you Want to Insert?", "Insert Item-Confirmation", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
{
try
{
Entities dbContext = new Entities();
Name name = new Name();
name.my_name = txtName.Text;
dbContext.Names.Add(name);
dbContext.SaveChanges();
txtName.Text = null;
Refresh();
}
catch (Exception err)
{
DXMessageBox.Show(err.StackTrace);
}
}
else
txtName.Text = null;
}
}
私の質問が明確でない場合、またはより多くの情報が必要な場合は、私に尋ねてください。ありがとうございました :)