В C#
WPF
У меня есть окно, в котором находится страница с this.WorkingFrame.Navigate(Page1);
Теперь на странице 1 У меня есть listview
. На странице 1 вы можете дважды щелкнуть элемент в listview
, чтобы открыть новое окно (Страница), чтобы отредактировать элемент. После редактирования элемента он сохраняется на datacontext
. Теперь проблема, с которой я столкнулась, когда-то закрыта, а listview
не обновляется. В основном я должен перейти от страницы и вернуться к ней, чтобы показать ее изменения. Есть ли способ обновить страницу Page1 из Page2, чтобы показать сделанные изменения? Вот мой кодОбновить страницу WPF из дочернего окна
public partial class Page1 : Page
{
public Page1()
{
InitializeComponent();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
//initiates the method to load data into the list view
LoadLV();
}
//Loads data into the list view object
public void LoadLV()
{
auroraDataEntities = new AuroraDataEntities();
Data data = new Data();
ObjectQuery<Inventory> inventories = auroraDataEntities.Inventories;
//Returns only objects with a quantity greater than 0, so it won't show anything you are out of
var fillList = from q in inventories
where q.Qty > 0
select q;
ingListLV.ItemsSource = fillList.ToList();
}
//Method to open what I want to be the child window basically a popup Dialog box
private void Open_Page2(object sender, RoutedEventArgs e)
{
Page2 openPage2 = new Page2();
openPage2.Show();
}
}
//This is the code for Page 2
public partial class Page2 : Window
{
public Page2()
{
InitializeComponent();
//ADDED a reference to Page1 in the constructor
Page1 page1;
}
//Method when i click the close button on the page
private void Close_Button(object sender, RoutedEventArgs e)
{
//In here is the code that I want to use to refresh the listview on page 1
//ADDED the call to the public method LoadLV on page 1
page1.LoadLV()
}
}
Вы должны смотреть на использовании наблюдаемых коллекций, если вы используете его правильно ваш пользовательский интерфейс будет отражать изменения автоматически. Ваши изменения отразятся на странице 1 еще до закрытия диалогового окна –