Error al asignar a la propiedad 'System.Windows.Controls.Primitives.ButtonBase.Click'
Tener una situación interesante que no entiendo.
Aquí está el escenario:
Creo una aplicación simple de Silverlight 5. Coloco un control de botón en la página principal y creo un controlador de eventos Click.
XAML se muestra a continuación .....
<UserControl x:Class="SilverlightApplication6.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="400">
<Grid x:Name="LayoutRoot" Background="White">
<Button Content="Button" Height="23" HorizontalAlignment="Left" Margin="130,43,0,0" Name="button1" VerticalAlignment="Top" Width="75" Click="button1_Click" />
</Grid>
</UserControl>
Hasta ahora tan bueno.
Conecta un controlador de eventos en el código detrás, así que ...
private void button1_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show("Hi There!!!");
}
Compila y ejecuta la aplicación. Hago clic en el botón y aparece un pequeño cuadro de mensaje. Una vez más, hasta ahora, todo bien.
Agregue un nuevo método (como se muestra a continuación) al código subyacente con el mismo nombre de método que el controlador de eventos con clic de botón pero con una firma diferente.
private void button1_Click()
{
MessageBox.Show("This method causes a XamlParseException!");
}
Compila y ejecuta el código. Abra la aplicación, haga clic en el botón y obtengo la siguiente excepción:
System.Windows.Markup.XamlParseException was unhandled by user code
Message=Failed to assign to property 'System.Windows.Controls.Primitives.ButtonBase.Click'. [Line: 10 Position: 149]
LineNumber=10
LinePosition=149
StackTrace:
at System.Windows.Application.LoadComponent(Object component, Uri resourceLocator)
at SilverlightApplication6.MainPage.InitializeComponent()
at SilverlightApplication6.MainPage..ctor()
at SilverlightApplication6.App.Application_Startup(Object sender, StartupEventArgs e)
at MS.Internal.CoreInvokeHandler.InvokeEventHandler(UInt32 typeIndex, Delegate handlerDelegate, Object sender, Object args)
at MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, Int32 actualArgsTypeIndex, String eventName, UInt32 flags)
InnerException:
¿Por qué pasó esto?