Я хочу создать пользовательский элемент управления, который будет использоваться в качестве наложения.Элемент управления должен содержать пару дочерних элементов управления, которые должны быть нарисованы и должны быть кликабельны как обычно.Но все остальное в элементе управления должно быть прозрачным и «кликабельным».
Вот как я пытаюсь добиться этого ... Во-первых, я использую события PreviewMouseDown \ Up \ Move в окне, гденаложение будет размещено.Я хочу, чтобы эти события проходили прозрачную часть моего пользовательского элемента управления, но останавливались на непрозрачной (например, на моей кнопке).Во-вторых, вот xaml для моего элемента управления (корневой узел UserControl остался нетронутым):
<Canvas Background="transparent" IsHitTestVisible="true">
<Button Canvas.Left="384" Canvas.Top="34" Content="Button" Height="23" Name="button1" Width="75" Click="button1_Click" IsHitTestVisible="True" />
<TextBlock Canvas.Left="27" Canvas.Top="105" Height="36" Name="textBlock1" Text="TextBlock" Width="432" FontSize="24" IsHitTestVisible="False" Foreground="Red" FontWeight="Bold" />
</Canvas>
Однако, если я установил Canvas 'IsHitTestVisible в значение false, весь элемент управления, включая кнопку, станет "нерушимым".Если для него установлено значение true, все события туннелирования останавливаются на пользовательском элементе управления, и кнопка становится неактивной.
Какой правильный способ достижения такого поведения?Можно ли сделать это без создания подкласса canvas (или любой другой панели)?