MetroTabItem Mahapps не вызывает событие MouseDown

Я реализую панель с двумя вкладками, проблема в том, что событие MouseDown не вызывается, я применил, но не уходит. И можно ли принять решение для активации клика? заранее спасибо

<controls:MetroTabItem HorizontalContentAlignment="Stretch" Width="140" Header="Inviti" MouseDown="MetroTabItem_MouseDown_1">
  <surface:SurfaceScrollViewer VerticalScrollBarVisibility="Hidden" VerticalAlignment="Top" Height="207" PanningMode="Both">
    <ItemsControl ItemsSource="{Binding Path=participantsInviteTrue}">
      <ItemsControl.ItemTemplate>
        <DataTemplate>
          <StackPanel Grid.Column="0" Grid.Row="0">
            <Border Grid.Column="0" Grid.Row="0" Margin="10,2,0,0" Height="30" CornerRadius="3" BorderBrush="#D9D9D9" BorderThickness="0,0,0,1">
              <Grid>
                <Grid.ColumnDefinitions>
                  <ColumnDefinition Width="50"></ColumnDefinition>
                  <ColumnDefinition Width="*"></ColumnDefinition>
                </Grid.ColumnDefinitions>
                <Grid.RowDefinitions>
                  <RowDefinition Height="25"/>
                </Grid.RowDefinitions>
                <Button Grid.Row="0" Grid.Column="0" Margin="0,2,0,3" Width="30" Height="30" IsEnabled="False" VerticalAlignment="Center" HorizontalAlignment="Center" Style="{DynamicResource MetroCircleButtonStyle}">
                  <Button.Background>
                    <ImageBrush ImageSource ="{Binding Base64Image, Converter={StaticResource Base64ImageConverter}}"></ImageBrush>
                  </Button.Background>
                </Button>
                <TextBlock FontFamily="{StaticResource Lato Light}" VerticalAlignment="Center" Grid.Row="0" Grid.Column="1">
                  <TextBlock.Text>
                    <MultiBinding StringFormat="{}{0} {1}">
                      <Binding Path="FirstName" />
                      <Binding Path="LastName" />
                    </MultiBinding>
                  </TextBlock.Text>
                </TextBlock>
                <Button Grid.Row="0" Click="showInfoUser" Tag="{Binding PPID}" Grid.Column="1" Width="28" Height="28" IsEnabled="True" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="0,0,20,0" Style="{DynamicResource MetroCircleButtonStyle}">
                  <Button.Background>
                    <ImageBrush ImageSource="/Resources/Images/icon-pending@2x.png"></ImageBrush>
                  </Button.Background>
                </Button>
              </Grid>
            </Border>
          </StackPanel>
        </DataTemplate>
      </ItemsControl.ItemTemplate>
    </ItemsControl>
  </surface:SurfaceScrollViewer>
</controls:MetroTabItem>

В моем проекте я использую wpf без patterne и C# из codebehind. Я думаю, что это не работает, потому что MetroTabItem уже вызывает событие, чтобы щелкнуть, чтобы переключиться между вкладками, нет решения и добавить событие, чтобы щелкнуть?

2 ответа

Я нашел решение, используя событие PreviewMouseDown, это все равно, что использовать событие MouseDown. Смотрите объяснение здесь

Если вы ищете событие, когда вкладка активирована, используйте GotFocus событие, потому что оно также может быть сфокусировано с помощью комбинации клавиш Alt-Key на основе названия заголовка. например Header="_Title" можно активировать с помощью Alt-T. Кроме того, сенсорные экраны и, вероятно, сломанные лазеры когда-нибудь в будущем.

Другие вопросы по тегам