2010-10-19 7 views
0

У меня есть простое приложение.Отключить доступ к другим элементам управления - WPF


alt text


<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(); 
} 

При нажатии кнопки приложение закрывается. Это то, что я хочу. Но когда я нажимаю на одно из расширений, приложение также закрывается. Как этого избежать? Я не хочу, чтобы приложение закрывалось, когда пользователь нажимает на одну из трех стрелок.

ответ

3

Попробуйте проверить источник на клик (по мере того, как события Click накапливаются, пока кто-то явно не обрабатывает их). И потому, что кнопка является родителем расширителя, он получит его щелчок событие тоже (вы имели в виду поставить расширитель вне кнопку?):

private void button1_Click(object sender, System.Windows.RoutedEventArgs e) 
{ 
    if (e.Source == this.button1) 
    { 
    Application.Current.Shutdown(); 
    } 
} 
+0

Я хочу expanderto быть внутри. Кнопка является родительской – Hooch

Смежные вопросы