检查WPF面板中特定的子视图模型

  • 本文关键字:视图 模型 WPF 检查 c# wpf
  • 更新时间 :
  • 英文 :


我对WPF很陌生,目前正在做一个项目来测试我的知识。

我有一个面板,我想改变不同的视图上,但视图应该改变只有当它不是面板的当前子元素。所以我写了这样的代码

 public void OnAddNewQuestionBank(object paramter)
 {
        var childIsCurrent = _mainWindow.ContentBox.Children.OfType<AddQuestionsPane>().Equals(typeof(AddQuestionsPane));
        if(!childIsCurrent)
        {
            //Display the panel
            _mainWindow.ContentBox.Children.Add(new AddQuestionsPane());
        }            
 }

但是我意识到childIsCurrent总是返回false…如何解决这个问题

OfType<T>()返回一个IEnumerable<T>对象。它不等于Type,这就是为什么它总是返回false。相反,您可以尝试查看IEnumerable<T>中是否有任何项目。例如:

var childIsCurrent = _mainWindow.ContentBox.Children.OfType<AddQuestionsPane>().Any();

最新更新