-1
私はthis linkを読んで私の質問の答えを見つけました。私は知りたいです、我々はMVVMを使用する必要はありません方法があります。最初は、私の質問を聞かせてください! MainWindow
というウィンドウにDataGridコントロールがあります。 MainWindow
からNewWindow
という別のウィンドウを開きます。 NewWindow
私はいくつかのテキストボックスとボタンを持っています。 NewWindow
では、誰かが顧客に関する情報を入力することができ、これらの情報はデータベースに保存されるので、NewWindow
のボタンの次のコードを使用します。MVVMを使用せずに別のウィンドウからWPFでdataGridを更新するには?
var Que = (from P in FaceDB.tblUsers where P.UserId == mytxtbox1.Text.ToString() select P).SingleOrDefault();
Que.Pass = mytxtbox2.Text.ToString();
FaceDB.SaveChanges();
これらの情報を保存した後、私はMainWindowのDataGridを更新したいと思います。私は、次のコードで試してくださいそれらのどれも動作しませんでした:
Que.Pass = mytxtbox2.Text.ToString();
FaceDB.SaveChanges();
MainPage MPWin = new MainPage();
MPWin.mydatagridt.UpdateLayout();
OR:
MPWin.mydatagrid.Items.Refresh();
OR:
CollectionViewSource.GetDefaultView(mydatagrid.ItemsSource).Refresh();
ありがとう、私はこのエラーがあります: ''FaceApp.FaceDBEntities.tblUser'を暗黙的に 'System.Collections.IEnumerable''に変換できません。とにかく私は次のコードを試してみますが、それでも動作しません:' var q = from b FaceDB.tblUsersで 選択b; MPWin.mydatagrid.ItemsSource = null; MPWin.mydatagrid.ItemsSource = q.ToList(); MPWin.mydatrid.Items.Refresh(); ' – Saeid
@Saeidは、使用するハードリストを提供する必要があります。どちらを使用するかは、前述のようにToList()です。デバッガのデータをチェックします。正しく存在し、データグリッドが自動的に列を生成しますか? XAMLを提供する必要があります。 – OmegaMan