Edit: The original premise of the question was incorrect so revised the question:
Basically I want a button to be visible only when the mouse is over the containing user control. Here is the simplified versin of what I have:
<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="MyNamespace.MyUserControl"
x:Name="myUserControl">
<Textbox>Some Text</Textbox>
<Button Visibility="{Binding ElementName=myUserControl, Path=IsMouseOver, Converter={StaticResource mouseOverVisibilityConverter}}" />
</UserControl>
Which works if the mouse is over the text box, but not anywhere else in the user control.
I revised the question once Thomas pointed out the false assumption in my original question which lead me to discover the real reason it wasn’t working in this post.
Basically the user control has a null background (as opposed to transparent) which apparently makes it invisible to the mouse, even with IsHitTestVisible set to true, so the solution was to add Background=”Transparent” to the user control.