MetroTabItem Mahapps不会触发事件MouseDown

时间:2016-02-18 13:31:02

标签: c# wpf mahapps.metro tabitem

我正在实现一个带有两个选项卡的面板,问题是没有触发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 个答案:

答案 0 :(得分:1)

我找到了解决方案,使用PreviewMouseDown事件,就像使用MouseDown事件一样。 请参阅解释here

答案 1 :(得分:0)

如果您在激活标签时正在查找事件,请使用GotFocus事件,因为它也可以使用基于标题名称的alt键组合进行聚焦。例如Header="_Title"可以用Alt-T激活。此外,未来的某个时候,触摸屏和可能还有闪光灯。