C
C#15mo ago
ApathyErr

✅ System.StackOverflowException

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace WPF_LoginForm.Views
{
/// <summary>
/// Interaction logic for CustomerView.xaml
/// </summary>
public partial class CustomerView : UserControl
{
public CustomerView()
{
InitializeComponent();
MainFrame.Navigate(new CustomerView());
Manager.MainFrame = MainFrame;
DGridCustomer.ItemsSource = CRMBaseEntities.GetContext().Customers.ToList();
}

private void Button_Click(object sender, RoutedEventArgs e)
{
Manager.MainFrame.Navigate(new CustomerView());
}
private void BtnEdit_Click(object sender, RoutedEventArgs e)
{

}

private void BtnAdd_Click(object sender, RoutedEventArgs e)
{

}
private void BtnDelete_Click(object sender, RoutedEventArgs e)
{

}

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;
}
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace WPF_LoginForm.Views
{
/// <summary>
/// Interaction logic for CustomerView.xaml
/// </summary>
public partial class CustomerView : UserControl
{
public CustomerView()
{
InitializeComponent();
MainFrame.Navigate(new CustomerView());
Manager.MainFrame = MainFrame;
DGridCustomer.ItemsSource = CRMBaseEntities.GetContext().Customers.ToList();
}

private void Button_Click(object sender, RoutedEventArgs e)
{
Manager.MainFrame.Navigate(new CustomerView());
}
private void BtnEdit_Click(object sender, RoutedEventArgs e)
{

}

private void BtnAdd_Click(object sender, RoutedEventArgs e)
{

}
private void BtnDelete_Click(object sender, RoutedEventArgs e)
{

}

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;
}
}
}
}
6 Replies
Aaron
Aaron15mo ago
in the constructor for CustomerView, you are creating a new CustomerView that customerview will create a new CustomerView, which will create a new CustomerView, which will create a new CustomerView, so on until you run out of stack space you probably want MainFrame.Navigate(this); instead
ApathyErr
ApathyErr15mo ago
Do I need to move the content to a new file so that this does not happen? In this case, he writes that a cyclic dependence has been detected
Jimmacle
Jimmacle15mo ago
why does it seem like your view has a frame that contains itself?
ApathyErr
ApathyErr15mo ago
I wanted to do without creating an additional file by making an application according to the manual
Jimmacle
Jimmacle15mo ago
well that's something i would expect to cause a cyclic dependency, infinite recursion, or other unwanted behavior
Accord
Accord15mo ago
Was this issue resolved? If so, run /close - otherwise I will mark this as stale and this post will be archived until there is new activity.