C# ToggleButton在触摸设备上的行为不同
我这里有一段XAML代码:C# ToggleButton在触摸设备上的行为不同,c#,xaml,windows-8,windows-runtime,C#,Xaml,Windows 8,Windows Runtime,我这里有一段XAML代码: <ToggleButton x:Name="ColorPickerButton" Content="Button" HorizontalAlignment="Left" VerticalAlignment="Top" Style="{StaticResource Segment0}" Checked="ColorPickerChecked"
<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
,在我的记忆中,它似乎工作得很好。。。但不是在这里
干杯我怀疑您的
切换按钮
的容器控件之一正在干扰这些事件
我在一个简单的容器中尝试了上面的xaml代码(在
堆栈面板中在网格中),然后选中的和未选中的事件为我触发 我怀疑您的ToggleButton
的容器控件之一正在干扰这些事件
我在一个简单的容器中尝试了上面的xaml代码(在堆栈面板中在网格中),然后选中的和未选中的事件为我触发 我希望事件“选中”被引发,而不是“单击”。你是说切换按钮上的“点击”事件会自动引发“选中”/“未选中”事件,而“点击”事件则不会?对不起,我的错,误读了这个问题。那么为什么不像你这样通过IsChecked bool呢?如果是这样的情况(比如通常使用的切换按钮),就不应该有任何马虎的地方。@RedPolygon-当我使用曲面时,选中的
和未选中的
事件会正确触发。(是的,我使用的是触摸按钮,而不是鼠标)。我只有一个网格
,里面有一个堆叠面板
,里面有一个切换按钮
。MyToggleButton
使用上面的xaml代码。我猜您的切换按钮
容器控件之一干扰了选中的
和未选中的
事件。@这正是问题所在!ToggleButton包含在画布中,移除画布可以使控件正常工作。把它贴出来作为答案,这样我就可以接受了!(但它仍然在计算机上工作,而不是在触摸设备上工作,这很奇怪,但无论如何,它现在正在工作)。我希望事件“检查”被引发,而不是“点击”。你是说切换按钮上的“点击”事件会自动引发“选中”/“未选中”事件,而“点击”事件则不会?对不起,我的错,误读了这个问题。那么为什么不像你这样通过IsChecked bool呢?如果是这样的情况(比如通常使用的切换按钮),就不应该有任何马虎的地方。@RedPolygon-当我使用曲面时,选中的
和未选中的
事件会正确触发。(是的,我使用的是触摸按钮,而不是鼠标)。我只有一个网格
,里面有一个堆叠面板
,里面有一个切换按钮
。MyToggleButton
使用上面的xaml代码。我猜您的切换按钮
容器控件之一干扰了选中的
和未选中的
事件。@这正是问题所在!ToggleButton包含在画布中,移除画布可以使控件正常工作。把它贴出来作为答案,这样我就可以接受了!(但它仍然在电脑上工作,而不是在触控设备上工作,这很奇怪,但不管怎样,它现在正在工作)。我也遇到了同样的问题,解决方法也有点不同。在下面的博文中,我描述了这个问题的原因和解决方法:我遇到了同样的问题,但解决方法有点不同。在以下博文中,将介绍问题的原因和解决方案:
private void ColorPickerButton_Tapped(object sender, TappedRoutedEventArgs e)
{
var s = sender as ToggleButton;
if(s != null)
s.IsChecked = !s.IsChecked;
}