2015-05-07 18 views
1

我有一个控件,它在加载时解析一个带有国家名称的XML文件,稍后填充一个ComboBox。我访问我的XML,如下所示:由于不正确的运行程序集路径导致的WPF设计器错误

public DataTable GetData() 
    { 
     DataTable dt = new DataTable(); 
     DataSet ds = new DataSet(); 

     ds.ReadXml(AppDomain.CurrentDomain.BaseDirectory + @"..\..\Resources\XML\countries.xml"); 
     return ds.Tables[0]; 
    } 

GetData在控件的加载处理程序中调用。

在设计时,但是,我得到一个错误,该目录不与XML文件中存在,当你看到它是找错了的AppDomain路径(Visual Studio中,没有项目):

enter image description here

我该如何解决此问题?

回答

2

避免这种情况的典型方法是将代码包装在一张支票中,看它是否在设计器中运行。

DesignerProperties.GetIsInDesignMode(this) 

将在设计模式下返回true,当应用程序运行“真实”(如果从DesignerObject调用)时返回false。你不应该在设计mdoe时尝试阅读你的xml。

+0

这是有效的,刚刚阅读完这个在https://msdn.microsoft.com/en-us/library/bb546934%28VS.90%29.aspx – eYe

相关问题