2013-05-27 3 views
3

Windows phone 응용 프로그램이 있습니다. 나는 응용 프로그램을 실행할 때) (나는이 예외를 얻을 수 있으며 오류가 intializecomponent에 app.xaml 파일에서 발생오류 : System.Windows.ni.dll에서 'System.Windows.Markup.XamlParseException'유형의 첫 번째 예외가 발생했습니다.

A first chance exception of type 'System.Windows.Markup.XamlParseException' occurred in System.Windows.ni.dll 

더 이상 실행되지 않았다 내가 잘 그것을 응용 프로그램 작업을 제거하면 내가 응용 프로그램 자원

<converter:RssTextTrimmer xmlns:converter="clr-namespace:HomePage" x:Key="RssTextTrimmer" /> 

에 추가 할 때
public App() 
    { 
     // Global handler for uncaught exceptions. 
     UnhandledException += Application_UnhandledException; 

     // Standard XAML initialization 
     InitializeComponent(); 

     // Phone-specific initialization 
     InitializePhoneApplication(); 

방법

오류가 발생하기 때문이다.

<Application 
x:Class="HomePage.App" 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone" 
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"> 

<!--Application Resources--> 
<Application.Resources> 
    <local:LocalizedStrings xmlns:local="clr-namespace:HomePage" x:Key="LocalizedStrings"/> 
    <converter:RssTextTrimmer xmlns:converter="clr-namespace:HomePage" x:Key="RssTextTrimmer" /> 

</Application.Resources> 

<Application.ApplicationLifetimeObjects> 
    <!--Required object that handles lifetime events for the application--> 
    <shell:PhoneApplicationService 
     Launching="Application_Launching" Closing="Application_Closing" 
     Activated="Application_Activated" Deactivated="Application_Deactivated"/> 
</Application.ApplicationLifetimeObjects> 

컨버터 코드

네임 스페이스 홈페이지 { 클래스 RssTextTrimmer : IValueConverter {

// Clean up text fields from each SyndicationItem. 
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 
    { 
     if (value == null) return null; 

     int maxLength = 200; 
     int strLength = 0; 
     string fixedString = ""; 

     // Remove HTML tags and newline characters from the text, and decodes HTML encoded characters. 
     // This is a basic method. Additional code would be needed to more thoroughly 
     // remove certain elements, such as embedded Javascript. 

     // Remove HTML tags. 
     fixedString = Regex.Replace(value.ToString(), "<[^>]+>", string.Empty); 

     // Remove newline characters 
     fixedString = fixedString.Replace("\r", "").Replace("\n", ""); 

     // Remove encoded HTML characters 
     fixedString = HttpUtility.HtmlDecode(fixedString); 

     strLength = fixedString.ToString().Length; 



     // Some feed management tools include an image tag in the Description field of an RSS feed, 
     // so even if the Description field (and thus, the Summary property) is not populated, it could still contain HTML. 
     // Due to this, after we strip tags from the string, we should return null if there is nothing left in the resulting string. 
     if (strLength == 0) 
     { 
      return null; 
     } 

     // Truncate the text if it is too long. 
     else if (strLength >= maxLength) 
     { 
      fixedString = fixedString.Substring(0, maxLength); 

      // Unless we take the next step, the string truncation could occur in the middle of a word. 
      // Using LastIndexOf we can find the last space character in the string and truncate there. 
      fixedString = fixedString.Substring(0, fixedString.LastIndexOf(" ")); 
     } 

     fixedString += "..."; 

     return fixedString; 
    } 

    // This code sample does not use TwoWay binding and thus, we do not need to flesh out ConvertBack. 
    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 
    { 
     throw new NotImplementedException(); 
    } 
} 

여기

는 전체 코드입니다 }

당신의 RssTextTrimmer.cs 파일에서
+0

이후의 XAML 코드를 표시 광산을 봤나 무엇 그것은 XamlParseException입니다, 거기에 오류가 있어야합니다. – anderZubi

+0

업데이트 ... – Sally

+0

변환기 코드 표시 –

답변

7

, 클래스가 "공용 클래스 RssTextTrimmer : IValueConverter"공공 있는지 확인 하지 "클래스 RssTextTrimmer : IValueConverter"

+0

완벽한 답변, 인스턴스를 만들 수 없기 때문에 기본적으로 보호되므로 공용으로 작업 할 수 있습니다. 감사합니다. –

관련 문제