2012-07-31 4 views
0

Windows Phone7에서는 일부 데이터를 구문 분석 할 UserControl을 만들었습니다. 이제 그 Usercontrol 인스턴스를 만들 수 없습니다. 내가 UserControl에서 구문 분석을 제거 할 때UserControl 인스턴스를 만들 수 없습니다. [XapCannotFindFileInPackage]

나는

을 파싱 된 XML의 샘플 오류 등

`"Cannot create instance of '<usercontrolname>' 
"XapCannotFindFileInPackage] 
Arguments:HelpScreenData.xml 
Debugging Resource String are unavailable.Often the key and 
arguments provide sufficient information to diagonise the problem.see 
http://go.microsoft.com'/fwlink/?linkid=106663&version5.0.10411.00& 
file=system.xml.dll&key=Xml_cannot find file in Xappackage" 

내 UserControl을 같은 코드 숨김

public partial class ques : UserControl 
{ 
    Popup popup = new Popup(); 
    tutorial tut = new tutorial(); //another usercontrol 

    String[] str; 
    String[] nam; 
    public ques() 
    { 
     InitializeComponent(); 

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

     LayoutRoot.Visibility = Visibility.Visible; 

     buy_bac.Visibility = Visibility.Collapsed; 
     buy_hme.Visibility = Visibility.Collapsed; 
     buy_qestim.Visibility = Visibility.Collapsed; 
     buy_piti.Visibility = Visibility.Collapsed; 
     buy_qual.Visibility = Visibility.Collapsed; 
     buy_rent.Visibility = Visibility.Collapsed; 
     buy_rep.Visibility = Visibility.Collapsed; 
     buy_mre.Visibility = Visibility.Collapsed; 

     if (Modules.Programname == "Buyers") 
     { 
      buy_bac.Visibility = Visibility.Visible; 
      buy_hme.Visibility = Visibility.Visible; 
      buy_qestim.Visibility = Visibility.Visible; 
      buy_piti.Visibility = Visibility.Visible; 
      buy_qual.Visibility = Visibility.Visible; 
      buy_rent.Visibility = Visibility.Visible; 
      buy_rep.Visibility = Visibility.Visible; 
      buy_mre.Visibility = Visibility.Visible; 
     } 
     XDocument doc = XDocument.Load("HelpScreenData.xml"); 
     string val = doc.ToString(); 

     XElement doc1 = doc.Descendants("buyer").First(); 

     var parsedPlist = doc1.Descendants("row"); 

     int i = 0; 
     str = new string[parsedPlist.Count()]; 
     nam = new string[parsedPlist.Count()]; 
     foreach (XElement elem in parsedPlist) 
     { 
      nam[i] = (string)elem.Element("btn_name"); 
      str[i] = (string)elem.Element("string"); 
      i++; 
     } 
    } 
    private void i1_MouseLeftButtonUp(object sender, MouseButtonEventArgs e) 
    { 


     if (nam[0] == buy_bac.Name) 
     { 


      Modules.msg = str[0]; 
      if (Modules.msg != null) 
      { 
       if (popup.IsOpen != true) 
       { 

        popup.Child = tut; 
        popup.IsOpen = true; 
        popup.VerticalOffset = 200; 
        popup.HorizontalOffset = 50; 
        popup.IsOpen = true; 
        tut.lb_tut.Text = Modules.msg; 
       } 
       else 
       { 
        popup.IsOpen = false; 
       } 
      } 
      else if (nam[1] == buy_hme.Name) 
      { 
       Modules.msg = str[1]; 
       if (Modules.msg != null) 
       { 
        if (popup.IsOpen != true) 
        { 
         popup.Child = tut; 
         popup.IsOpen = true; 
         popup.VerticalOffset = 400; 
         popup.HorizontalOffset = 50; 
         popup.IsOpen = true; 
         tut.lb_tut.Text = Modules.msg; 
        } 
        else 
        { 
         popup.IsOpen = false; 
        } 
       } 

      } 
      else if (nam[1] == buy_qestim.Name) 
      { 
       Modules.msg = str[2]; 
       if (Modules.msg != null) 
       { 
        if (popup.IsOpen != true) 
        { 
         popup.Child = tut; 
         popup.IsOpen = true; 
         popup.VerticalOffset = 400; 
         popup.HorizontalOffset = 50; 
         popup.IsOpen = true; 
         tut.lb_tut.Text = Modules.msg; 
        } 
        else 
        { 
         popup.IsOpen = false; 
        } 
       } 

      } 
     } 


    } 

    private void i3_MouseLeftButtonUp(object sender, MouseButtonEventArgs e) 
    { 
     if (nam[2] == buy_piti.Name) 
     { 
      Modules.msg = str[3]; 
      if (Modules.msg != null) 
      { 
       if (popup.IsOpen != true) 
       { 
        popup.Child = tut; 
        popup.IsOpen = true; 
        popup.VerticalOffset = 600; 
        popup.HorizontalOffset = 50; 
        popup.IsOpen = true; 
        tut.lb_tut.Text = Modules.msg; 
       } 
       else 
       { 
        popup.IsOpen = false; 
       } 
      } 

     } 
     else if (nam[2] == buy_rent.Name) 
     { 
      Modules.msg = str[4]; 
      if (Modules.msg != null) 
      { 
       if (popup.IsOpen != true) 
       { 
        popup.Child = tut; 
        popup.IsOpen = true; 
        popup.VerticalOffset = 600; 
        popup.HorizontalOffset = 50; 
        popup.IsOpen = true; 
        tut.lb_tut.Text = Modules.msg; 
       } 
       else 
       { 
        popup.IsOpen = false; 
       } 
      } 

     } 
     else if (nam[2] == buy_qual.Name) 
     { 
      Modules.msg = str[5]; 
      if (Modules.msg != null) 
      { 
       if (popup.IsOpen != true) 
       { 
        popup.Child = tut; 
        popup.IsOpen = true; 
        popup.VerticalOffset = 600; 
        popup.HorizontalOffset = 50; 
        popup.IsOpen = true; 
        tut.lb_tut.Text = Modules.msg; 
       } 
       else 
       { 
        popup.IsOpen = false; 
       } 
      } 

     } 
     else if (nam[2] == buy_mre.Name) 
     { 
      Modules.msg = str[6]; 
      if (Modules.msg != null) 
      { 
       if (popup.IsOpen != true) 
       { 
        popup.Child = tut; 
        popup.IsOpen = true; 
        popup.VerticalOffset = 600; 
        popup.HorizontalOffset = 50; 
        popup.IsOpen = true; 
        tut.lb_tut.Text = Modules.msg; 
       } 
       else 
       { 
        popup.IsOpen = false; 
       } 
      } 

     } 
    } 

을 얻고 않는 인스턴스를 만들 수 있어요

<?xml version="1.0" encoding="utf-8" ?> 
<plist version="1.0"> 
<Main_Screen> 
<row> 
<btn_name>Buyer Programs</btn_name> 
<string>Answer your client’s difficult .</string> 
</row> 
<row> 
<btn_name>Seller’s Programs</btn_name> 
<string>What do sellers want s needs.</string> 
</row> 
</Main_Screen> 
<abssas> 
<row> 
<btn_name>dat Programs</btn_name> 
<string> your client’s </string> 
</row> 
<row> 
<btn_name>my Programs</btn_name> 
<string> sellers want s needs.</string> 
</row> 
</abssas> 
</plist> 
+1

해리 포터를 아십니까? 그는 자신의 컨트롤이 어떻게 코딩되었는지를 추측하는 데 도움이되는 마법의 단어를 발견했습니다. 불행히도, 그는 stackoverflow에 등록되지 않았습니다. 아직 –

+0

abracadabra! 문제의 원인은 무엇입니까? // 구문 분석 기능이있는 것은? 그렇다면 xml 파일의 내용은 무엇입니까? –

+0

코드에서 오류가 발생하지 않습니다. 그러나 n을 드래그하는 동안 UserControl.Check 편집, XML을 구문 분석했습니다. –

답변

0

"HelpScreenData.xml"을로드하려고하고 있지만 해결할 수 없습니다. 이 파일을 프로젝트의 일부로 포함했는지 확인하십시오.

+0

예, "HelpScreenData.xml"은 내 프로젝트의 일부입니다. –

+0

프로젝트의 해당 xml 파일 속성에 대해 Build Action이 "Content"로 설정되고 Copy to Output Directory가 "Copy new"또는 "Copy Always"로 설정됩니까? – Gambit

+0

나는 그것도 시도했다, 그 일하지 않는다! –

관련 문제