0

Windows Phone 8 の XAML で AutoCompleteBox にイベント ハンドラーを追加する際に問題が発生しました。以前は機能していましたが、移動したため、機能しなくなりました。以下は、私の 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>

... そして、これは 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";
    }

AutoCompleteBox コントロールから Tap="..." および LostFocus"..." を削除すると、例外はスローされません。何が起こっているのか誰にも分かりますか?

4

1 に答える 1

1

メソッドのシグネチャが間違っています。そのはず:

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)
于 2013-02-20T18:31:27.450 に答える