C# 禁用通过其他控件单击-WPF
我有一个简单的应用程序C# 禁用通过其他控件单击-WPF,c#,.net,wpf,events,button,C#,.net,Wpf,Events,Button,我有一个简单的应用程序 当我点击按钮时,应用程序关闭。这就是我想要的。 但当我点击其中一个扩展器时,应用程序也会关闭。如何避免这种情况?我不希望当用户单击三个箭头中的一个时应用程序关闭。尝试检查单击的来源(因为单击事件会冒泡,直到有人明确处理它们)。由于按钮是扩展器的父级,它也将接收其单击事件(您的意思是将扩展器置于按钮之外吗?): 尝试检查点击源(因为点击事件会冒泡,直到有人明确处理它们)。由于按钮是扩展器的父级,它也将接收其单击事件(您的意思是将扩展器置于按钮之外吗?): 我想让扩展器
当我点击按钮时,应用程序关闭。这就是我想要的。
但当我点击其中一个扩展器时,应用程序也会关闭。如何避免这种情况?我不希望当用户单击三个箭头中的一个时应用程序关闭。尝试检查单击的来源(因为单击事件会冒泡,直到有人明确处理它们)。由于按钮是扩展器的父级,它也将接收其单击事件(您的意思是将扩展器置于按钮之外吗?):
尝试检查点击源(因为点击事件会冒泡,直到有人明确处理它们)。由于按钮是扩展器的父级,它也将接收其单击事件(您的意思是将扩展器置于按钮之外吗?):
我想让扩展器在里面。按钮是家长,我希望扩展器在里面。按钮是父按钮
<Window x:Class="WpfControlReview.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" mc:Ignorable="d" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" Height="120" Width="277" ResizeMode="NoResize">
<Grid>
<Button HorizontalAlignment="Stretch" Name="button1" VerticalAlignment="Stretch" HorizontalContentAlignment="Center" Click="button1_Click">
<StackPanel HorizontalAlignment="Stretch" Name="stackPanel1" VerticalAlignment="Stretch" Orientation="Vertical">
<Label IsHitTestVisible="False" Content="Select your options and press to commit" Name="label1" HorizontalContentAlignment="Center" FontSize="12" />
<StackPanel Name="stackPanel2" Orientation="Horizontal">
<Expander Header="Color" x:Name="expander1"/>
<Expander Header="Make" x:Name="expander2"/>
<Expander Header="Payment" x:Name="expander3"/>
</StackPanel>
</StackPanel>
</Button>
</Grid>
</Window>
private void button1_Click(object sender, System.Windows.RoutedEventArgs e)
{
Application.Current.Shutdown();
}
private void button1_Click(object sender, System.Windows.RoutedEventArgs e)
{
if (e.Source == this.button1)
{
Application.Current.Shutdown();
}
}