Reputation: 971
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
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