我試圖訪問公共部分類ChooseExercises訪問類窗口,但它拋出一個異常:不能從另一個類C#
System.InvalidCastException: 'Unable to cast object of type 'GymCheckList.YourProgress' to type 'GymCheckList.ChooseExercises'.'
我想要的方式訪問它是:
namespace GymCheckList
{
/// <summary>
/// Interaction logic for YourProgress.xaml
/// </summary>
public partial class YourProgress : Window
{
public YourProgress()
{
InitializeComponent();
}
private void TabThursday_Loaded(object sender, RoutedEventArgs e)
{
ChooseExercises ce = (ChooseExercises)Application.Current.MainWindow;
var lol = ce;
}
如果我使用ChooseExerises CE =新ChooseExercises();它給了我空白的意義。什麼可能導致異常? 謝謝!
編輯
在ChooseExeprises類我使用了類似的代碼來訪問MainWindow類,它工作正常:
namespace GymCheckList
{
/// <summary>
/// Interaction logic for ChooseExercises.xaml
/// </summary>
public partial class ChooseExercises : Window
{
public ChooseExercises()
{
InitializeComponent();
}
private List<string> data = new List<string>();
public void ComboBox_Loaded(object sender, RoutedEventArgs e)
{
MainWindow kek = (MainWindow)Application.Current.MainWindow;
它們是否具有相同的命名空間?或者是導入的命名空間? –
「什麼可能導致異常」 - > Application.Current.MainWindow不是ChooseExercises類型。設置一個斷點並檢查實際的類型。 –
@AshkanMobayenKhiabani是的,他們有相同的命名空間.. – Alex