У меня есть настраиваемый элемент управления с обработчиком событий, когда вы нажимаете на него. Все работает, и событие срабатывает правильно.Wpf пользовательский элемент управления mouseleftButtonDown область захвата
AddHandler (cu.MouseLeftButtonDown), AddressOf Me.DoSomething
Когда элемент управления изменяет размеры, чтобы показать дополнительную информацию, он расширяется. Он также рушится, когда пользователь подает кнопку. Это работает хорошо. Но теперь, когда я нажимаю, где раньше была расширенная область, он все еще запускает левый элемент мыши на этом элементе управления. Я попытался установить IsHitTestVisible в false в расширенном элементе, но он не работал. Вот некоторые XAML ...
<UserControl x:Class="MyCustomControl">
<StackPanel>
<Grid>
'Stuff thats always visible
</Grid>
<Border IsHitTestVisible="False" Grid.Row="1" HorizontalAlignment="left" BorderThickness="1" VerticalAlignment="top" x:Name="overView" Background="#EEEEEE" Visibility="Hidden" Margin="-325,-95,0,0" Width="auto" Height="auto" Padding="5,5,5,5" BorderBrush="#999999" CornerRadius="3,3,3,3">
<Border IsHitTestVisible="False" x:Name="myBorder" Margin="1" Width="300" Height="225" BorderThickness="1" BorderBrush="#999999" Background="#DDDDDD" CornerRadius="3,3,3,3" HorizontalAlignment="Left" VerticalAlignment="Top">
<Rectangle IsHitTestVisible="False" x:Name="rtgOverView">
</Rectangle>
</Border>
</Border>
</StackPanel>
</UserControl>
Обзор становится видимым, когда я использую этот код
overView.Visibility = Windows.Visibility.Visible
И скрывает, когда я использую этот
OverView.Visibility = Windows.Visibility.Collapsed
Я заполнить прямоугольник с визуалой. Это происходит при загрузке элемента управления.
rtgOverView.Fill = visual
обзорном получает позиционируется в коде, как этого
If x > 350 Then
overView.HorizontalAlignment = Windows.HorizontalAlignment.Left
overView.Margin = New Thickness(-325, -95, 0, 0)
Else
overView.HorizontalAlignment = Windows.HorizontalAlignment.Right
overView.Margin = New Thickness(0, -95, -300, 0)
End If
Я не могу использовать другой элемент вокруг моего customcontrol, так как я использую этот MouseLeftButtonDown на все различные виды контроля. Я не могу понять, как работают границы на мероприятии cu.MouseLeftButtonDown, чтобы исправить это.