title: No overload matches delegate but signature is same
body: <p>This is my UserControl</p>
  
  <pre><code>    using System.Windows;
  
      namespace MicrosoftDaysFind22S.Controls
      {
  public partial class ToggleSwitchWithHelp
  {
      public ToggleSwitchWithHelp()
      {
          InitializeComponent();
      }
  
      public string Header
      {
          get { return (string) GetValue(HeaderProperty); }
          set
          {
              HeaderTextBlock.Text = value;
              SetValue(HeaderProperty, value);
          }
      }
  
      public bool IsChecked
      {
          get { return (bool)GetValue(IsCheckedProperty); }
          set
          {
              ToggleSwitcher.IsChecked = value;
              SetValue(IsCheckedProperty, value);
          }
      }
  
      public static readonly DependencyProperty HeaderProperty =
          DependencyProperty.Register(
              "Header", typeof(string), typeof(ToggleSwitchWithHelp), new PropertyMetadata("Неизвестная настройка"));
  
      public static readonly DependencyProperty IsCheckedProperty =
          DependencyProperty.Register(
              "IsChecked", typeof(bool), typeof(ToggleSwitchWithHelp), new PropertyMetadata(false));
  
      private void ToggleSwitcher_CheckedChange(object sender, RoutedEventArgs e)
      {
          if (ToggleSwitcher.IsChecked != null) IsChecked = (bool) ToggleSwitcher.IsChecked;
      }
  
      private void ToggleSwitcher_OnLoaded(object sender, RoutedEventArgs e)
      {
          ToggleSwitcher.IsChecked = IsChecked;
      }
  
      public delegate void NotifyCallUserHelpPageEventHandler(string settingName);
  
      public event NotifyCallUserHelpPageEventHandler CallUserHelpPage;
  
      protected virtual void OnCallUserHelpPage()
      {
          NotifyCallUserHelpPageEventHandler handler = CallUserHelpPage;
          if (handler != null) handler(Header);
      }
  
      private void HelpButtonClick(object sender, RoutedEventArgs e)
      {
          OnCallUserHelpPage();
      }
  }
      }
  </code></pre>
  
  <p>event on page:</p>
  
  <pre><code>    public void ToggleSwitchWithHelp_OnCallUserHelpPage(string settingName)
      {
  
      }
  </code></pre>
  
  <p>and exception(characters stored exactly as in VS!!!):</p>
  
  <blockquote>
    <p>No overload for 'ToggleSwitchWithHelp_OnCallUserHelpPage' matches delegate 'NotifyCallUserHelpPageEventHandler</p>
  </blockquote>
  
  <p>Handler and event have the same signature, I'm not understand why I need creat overload and where. And why in exception not closed last '</p>
  
  <p>My control on page:</p>
  
  <pre><code>    &lt;controls:ToggleSwitchWithHelp 
                      Header="Использование местонахождения"
                      IsChecked="{Binding IsAllowUseMyGeopositionSetting, Converter={StaticResource SettingsConverter}, Mode=TwoWay, Source={StaticResource AppSettings}}" 
                      CallUserHelpPage="ToggleSwitchWithHelp_OnCallUserHelpPage"/&gt;
  </code></pre>
  
  <p>Last investigate show, if add same event from codebehind all work is fine</p>
  
  <pre><code>   public SettingsPage()
      {
          InitializeComponent();
  
          ToggleSwitchWithHelp.CallUserHelpPage += ToggleSwitchWithHelp_OnCallUserHelpPage;
      }
  </code></pre>
  
  <p>Why it does not work from layout?</p>