user2035039
user2035039

Reputation: 971

XamlParseException when adding event handler in XAML

I am having trouble adding event handlers to an AutoCompleteBox in XAML for windows phone 8. It worked before, but since I moved things around it doesn't anymore. The following is an extract from my MainPage.xaml:

    <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
        <Grid Margin="0,0,0,407">
            <Grid.RowDefinitions>
                <RowDefinition Height="50"/>
                <RowDefinition Height="70"/>
                <RowDefinition Height="50"/>
                <RowDefinition Height="70"/>
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="2*"/>
                <ColumnDefinition Width="3*"/>
            </Grid.ColumnDefinitions>

            <TextBlock Text="Start:" FontSize="35"/>
            <toolkit:AutoCompleteBox Grid.Row="1" x:Name="autoStadtStart" ItemsSource="{Binding Towns}" Text="Stadt" Tap="AutoCompleteBox_Click" LostFocus="AutoCB_Town_Reset"/>
            <toolkit:AutoCompleteBox Grid.Row="1" Grid.Column="1" x:Name="autoBusStopStart" ItemsSource="{Binding BusStops}" Margin="1,0,-1,0" Text="Haltestelle" Tap="AutoCompleteBox_Click" LostFocus="AutoCB_BusStop_Reset"/>

            <TextBlock Grid.Row="2" Text="Ziel:" FontSize="35"/>
            <toolkit:AutoCompleteBox Grid.Row="3" x:Name="autoStadtZiel" ItemsSource="{Binding Towns}" Text="Stadt" Tap="AutoCompleteBox_Click" LostFocus="AutoCB_Town_Reset"/>
            <toolkit:AutoCompleteBox Grid.Row="3" Grid.Column="1" x:Name="autoBusStopZiel" ItemsSource="{Binding BusStops}" Margin="1,0,-1,0" Text="Haltestelle" Tap="AutoCompleteBox_Click" LostFocus="AutoCB_BusStop_Reset"/>

        </Grid>
    </Grid>

... and this is the corresponding code in MainPage.xaml.cs:

    private void AutoCompleteBox_Click(AutoCompleteBox sender, System.Windows.Input.GestureEventArgs e)
    {
        sender.Text = "";
    }

    private void AutoCB_BusStop_Reset(AutoCompleteBox sender, System.Windows.Input.GestureEventArgs e)
    {
        if (sender.Text.Equals(""))
            sender.Text = "Haltestelle";
    }

    private void AutoCB_Town_Reset(AutoCompleteBox sender, System.Windows.Input.GestureEventArgs e)
    {
        if (sender.Text.Equals(""))
            sender.Text = "Stadt";
    }

When I remove Tap="..." and LostFocus"..." from the AutoCompleteBox controls, the exception is not thrown. Does anyone have an idea what is going on?

Upvotes: 0

Views: 292

Answers (1)

Kevin Gosse
Kevin Gosse

Reputation: 39027

The signatures of your methods are wrong. It should be:

private void AutoCompleteBox_Click(object sender, System.Windows.Input.GestureEventArgs e) 

private void AutoCB_BusStop_Reset(object sender, System.Windows.RoutedEventArgs e)

private void AutoCB_Town_Reset(object sender, System.Windows.RoutedEventArgs e)

Upvotes: 1

Related Questions