1

ここにこの XAML コードがあります。

<ToggleButton x:Name="ColorPickerButton" 
                          Content="Button" HorizontalAlignment="Left" VerticalAlignment="Top" Style="{StaticResource Segment0}" 
                          Checked="ColorPickerChecked" 
                          Unchecked="ColorPickerUnchecked">
                <ToggleButton.Transitions>
                    <TransitionCollection>
                        <EntranceThemeTransition FromHorizontalOffset="100" FromVerticalOffset="100"/>
                    </TransitionCollection>
                </ToggleButton.Transitions>
            </ToggleButton>

私のコンピューターでは問題なく動作しています。正常に動作するということは、メソッドを意味ColorPickerCheckedColorPickerUnchecked、をクリックすると正しく呼び出されますToggleButton。ただし、タッチ デバイス (Microsoft Surface) では、これらのメソッドはまったく呼び出されません。ただし、TappedXAML に追加すると、イベントは正しく発生します。今のところ、Tappedイベントが発生したときに呼び出されるメソッドは次のとおりです。

private void ColorPickerButton_Tapped(object sender, TappedRoutedEventArgs e)
        {
            var s = sender as ToggleButton;
            if(s != null)
                s.IsChecked = !s.IsChecked;
        }

私はちょっとずさんだと思います。なぜ動作が異なるのですか?私がここに欠けているものはありますか?他のアプリケーションで使用したことを思い出しToggleButton、私の記憶では正常に動作しているように見えました... しかし、ここではありません!

乾杯

4

1 に答える 1

1

ToggleButtonのコンテナ コントロールの 1 つがこれらのイベントに干渉していると思われます。

上記の xaml コードを単純なコンテナー内 ( a 内の aStackPanelGrid) で試したところ、CheckedandUncheckedイベントが発生しました。

于 2013-06-20T00:21:34.510 に答える