这是WPF Touch问题吗?

时间:2016-07-26 10:56:57

标签: wpf touch multi-touch

我在WPF窗口中有一个标签框和一些控件。我在WPF复选框集属性中抛出一个消息框。

当我们触摸标签时,会抛出消息框,但即使我们对其他区域也很强硬,也会抛出消息框。

此问题仅在触摸显示器中发生

请检查以下代码:[为简单起见,我已经重构以便于理解]

XAML

<CheckBox x:Name="chkbox"   Style="{StaticResource CheckBoxStyle1}" Grid.Row="0"  HorizontalContentAlignment="Left"   Background="Red"
Content="SampleCheckBox" 
IsChecked="{Binding Path=CheckBoxValue}" Margin="18,4,0,0"></CheckBox>

XAML风格

<Style x:Key="CheckBoxStyle1" TargetType="{x:Type CheckBox}">
<Setter Property="Foreground" Value="Black"/>
<Setter Property="Background" Value="{DynamicResource {x:Static  SystemColors.WindowBrushKey}}"/>
<Setter Property="BorderBrush" Value="BlanchedAlmond"/>
<Setter Property="BorderThickness" Value="2"/>
<Setter Property="Padding" Value="2,0,0,0"/>
<Setter Property="ClickMode" Value="Press"/>
<Setter Property="FocusVisualStyle" Value="{x:Null}" />

代码

public class GridViewModel : ViewModelBase1
{
    public bool dummyFlag = true;

    public bool testflag = false;

    public System.Windows.UIElement view;

    public bool CheckBoxValue
    {
        get { return testflag; }
        set
        {
            System.Windows.MessageBox.Show("test", "Title", MessageBoxButton.OK, MessageBoxImage.Information);
            //OnPropertyChanged("CheckBoxValue");
        }
    }
}

问题的可能原因

  1. 在set属性中抛出一个消息框。如果我删除了消息框,则调试流程不会转到set属性。

  2. 此外,如果我将以下setter属性配置为Release,则不会发生问题。 Setter Property =“ClickMode”Value =“ Release

  3. 然而,这不是这个问题的真正原因。

    任何帮助都会很棒。

0 个答案:

没有答案