簡體   English   中英

ToggleButton在觸摸設備上的行為有所不同

[英]ToggleButton behaves differently on Touch Device

我在這里有這段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>

在我的電腦上工作正常; 通過正常工作,我的意思是當我點擊ToggleButton時,方法ColorPickerCheckedColorPickerUnchecked被正確調用。 但是,在觸摸設備(Microsoft Surface)上,根本不會調用這些方法。 但是,如果我將其添加到XAML中,則會正確引發Tapped事件。 現在,這是引發Tapped事件時調用的方法:

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

我覺得有點草率。 為什么表現不同? 我在這里缺少什么嗎? 我記得在其他應用程序中使用過ToggleButton ,但在我的記憶中,它似乎可以正常工作……但是這里不行!

干杯

我懷疑您的ToggleButton的容器控件之一正在干擾這些事件。

我在一個簡單的容器內(在Grid內的StackPanel內)嘗試了您的xaml代碼,並且CheckedUnchecked事件為我觸發了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM