Главная форма и не только
8 декабря 2020 г. в 01:09
А это текст для главной
public MainWindow()
{
InitializeComponent();
MainFrame.Navigate(new TourPage());
Manager.MainFrame = MainFrame;
}
private void btnBack_Click(object sender, RoutedEventArgs e)
{
Manager.MainFrame.GoBack();
}
private void MainFrame_ContentRendered(object sender, EventArgs e)
{
if (MainFrame.CanGoBack)
{
btnBack.Visibility = Visibility.Visible;
}
else
btnBack.Visibility = Visibility.Hidden;
}
Для формы с удалением редактированием и добавлением
private void btnEdit_Click(object sender, RoutedEventArgs e)
{
Manager.MainFrame.Navigate(new AddEditPage((sender as Button).DataContext as Hotel));
}
private void btnAdd_Click(object sender, RoutedEventArgs e)
{
Manager.MainFrame.Navigate(new AddEditPage(null));
}
private void btnDelete_Click(object sender, RoutedEventArgs e)
{
var hotelsForRemoving = DGridHotels.SelectedItems.Cast<Hotel>().ToList();
if (MessageBox.Show($" Вы точно хотите удалить следующие {hotelsForRemoving.Count()} элементов", "Внимание", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes)
{
try {
Home.GetContext().SaveChanges();
MessageBox.Show("Информация удалена");
DGridHotels.ItemsSource = Home.GetContext().Hotel.ToList();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
}
}
private void Page_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e)
{
if (Visibility == Visibility.Visible)
{
Home.GetContext().ChangeTracker.Entries().ToList().ForEach(p => p.Reload());
DGridHotels.ItemsSource = Home.GetContext().Hotel.ToList();
}
}
Поиск информации реальное время
public TourPage()
{
InitializeComponent();
var alltypes = Home.GetContext().Type.ToList(); //но тут в разметке DisplayMemberPath="Name"
alltypes.Insert(0, new Type
{
Name = "Все типы"
});
ComboType.ItemsSource = alltypes;
CheckActual.IsChecked = true;
ComboType.SelectedIndex = 0;
UpdateTours();
}
private void UpdateTours()
{
var currentTours = Home.GetContext().Tour.ToList();
if (ComboType.SelectedIndex > 0)
currentTours = currentTours.Where(p => p.Type.Contains(ComboType.SelectedItem as Type)).ToList();
currentTours = currentTours.Where(p => p.Name.ToLower().Contains(TBoxSearch.Text.ToLower())).ToList();
if (CheckActual.IsChecked.Value)
currentTours = currentTours.Where(p => p.IsActual).ToList();
LViewTours.ItemsSource = currentTours.OrderBy(p => p.TicketCount).ToList();
}
private void TBoxSearch_TextChanged(object sender, TextChangedEventArgs e)
{
UpdateTours();
}