不包含“显示”的定义,也没有扩展方法“显示”错误
本文关键字:显示 扩展 方法 错误 定义 包含 | 更新日期: 2023-09-27 18:34:28
我正在尝试使用以下代码显示PluginManagerView的实例。
此 XAML 文件位于同一命名空间、同一项目中。但是我在mainwindow.Show();
行中遇到了一个错误,说
Error 1 'PluginManager.PluginManagerView' does not contain a definition for 'Show' and no extension method 'Show' accepting a first argument of type 'PluginManager.PluginManagerView' could be found (are you missing a using directive or an assembly reference?) Blah procedyre .cs 30 24 PluginManager
谁能告诉我问题是什么?为什么它不会为 MainWindow 的先前用法抛出错误?
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Windows;
using System.ComponentModel.Composition.Hosting;
namespace PluginManager
{
public class PublicProcedures : Application
{
public static void ShowPlugins()
{
var mainwindow = new PluginManagerView();
//An aggregate catalog that combines multiple catalogs
var catalog = new AggregateCatalog();
//Adds all the parts found in the same assembly as the Program class
//catalog.Catalogs.Add(new AssemblyCatalog(this.GetType().Assembly));
catalog.Catalogs.Add(new DirectoryCatalog("./Plugins/"));
var container = new CompositionContainer(catalog);
var modules = container.GetExportedValues<IPlugin>();
mainwindow.DataContext = modules;
mainwindow.Show();
}
}
}
为了调用 Window.Show(我想这就是你想要做的(,PluginManagerView 必须从类 Windows 派生,它的 XAML 必须看起来像这样:
<Window x:Class="PluginManager.PluginManagerView" ...>
...
</Window>
它抱怨无论PluginManagerView
是什么,它都没有Show
方法(您尝试在名为"mainwindow"的PluginManagerView
实例中调用该方法(。