title: Error : A first chance exception of type 'System.Windows.Markup.XamlParseException' occurred in System.Windows.ni.dll
body: <p>I have windows phone application ; When I run the application I get this exception and it didn't run anymore </p>
  
  <pre><code>A first chance exception of type 'System.Windows.Markup.XamlParseException' occurred in System.Windows.ni.dll
  </code></pre>
  
  <p>The error occurred in app.xaml file in the intializecomponent (); method</p>
  
  <pre><code>public App()
      {
          // Global handler for uncaught exceptions.
          UnhandledException += Application_UnhandledException;
  
          // Standard XAML initialization
          InitializeComponent();
  
          // Phone-specific initialization
          InitializePhoneApplication();
  </code></pre>
  
  <p>Since the error occurred when I add  in the application resources</p>
  
  <pre><code>  &lt;converter:RssTextTrimmer xmlns:converter="clr-namespace:HomePage" x:Key="RssTextTrimmer" /&gt;
  </code></pre>
  
  <p>When I remove it  the application work well .</p>
  
  <p>Here are the full code :</p>
  
  <pre><code>&lt;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"&gt;
  
  &lt;!--Application Resources--&gt;
  &lt;Application.Resources&gt;
      &lt;local:LocalizedStrings xmlns:local="clr-namespace:HomePage" x:Key="LocalizedStrings"/&gt;
      &lt;converter:RssTextTrimmer xmlns:converter="clr-namespace:HomePage" x:Key="RssTextTrimmer" /&gt;
  
  &lt;/Application.Resources&gt;
  
  &lt;Application.ApplicationLifetimeObjects&gt;
      &lt;!--Required object that handles lifetime events for the application--&gt;
      &lt;shell:PhoneApplicationService
          Launching="Application_Launching" Closing="Application_Closing"
          Activated="Application_Activated" Deactivated="Application_Deactivated"/&gt;
  &lt;/Application.ApplicationLifetimeObjects&gt;
  </code></pre>
  
  <p></p>
  
  <p>The convertor code </p>
  
  <p>namespace HomePage
  {
      class RssTextTrimmer : IValueConverter 
      {</p>
  
  <pre><code>    // 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(), "&lt;[^&gt;]+&gt;", 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 &gt;= 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();
      }
  }
  </code></pre>
  
  <p>}</p>