我在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");
}
}
}
问题的可能原因
在set属性中抛出一个消息框。如果我删除了消息框,则调试流程不会转到set属性。
此外,如果我将以下setter属性配置为Release,则不会发生问题。 Setter Property =“ClickMode”Value =“ Release ”
任何帮助都会很棒。