Por que não posso tocar / clicar em áreas em branco dentro de um Border / ContentControl sem definir o plano de fundo da criança como transparente?

Eu finalmente consegui criar um controle de botão transparente "fácil", baseado em umContentControl. No entanto, alguém pode explicar por que eu não pude clicar / tocar em nenhuma área em branco do controle até definir o plano de fundo do elemento filho como transparente? Eu me deparei com esse problema também quando:

Eu tentei usar BorderEu definir oControlTemplate de um botão em vez doContentTemplate.

Aqui está minha classe "button":

public class TransparentButton : ContentControl {
    public TransparentButton() {            
        HorizontalContentAlignment = HorizontalAlignment.Stretch;
    }

    public override void OnApplyTemplate() {
        var child = Content as Grid;

        if (child != null) {
            child.Background = new SolidColorBrush(Colors.Transparent);
        }

        base.OnApplyTemplate();
    }
}

É bastante específico para os meus casos quando uso (assumindo um filho de grade), mas funciona. A razão pela qual eu uso é para listas (não-ListBox) com o TiltEffect ativado.

Contexto do problema:

<ItemsControl x:Name="Items" toolkit:TiltEffect.IsTiltEnabled="True">
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <controls:TransparentButton 
                cal:Message.Attach="[Event Tap] = [Action Go($dataContext)]">
                <Grid>
                    <StackPanel HorizontalAlignment="Left">
                        <TextBlock Text="{Binding Test}" />                            
                    </StackPanel>
                    <StackPanel HorizontalAlignment="Right">
                        <TextBlock Text="{Binding Test2}" />                            
                    </StackPanel>
                </Grid>
            </controls:TransparentButton>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>

Se você clicar entre os StackPanels dentro do item, nenhum evento será disparado e nada acontecerá. Somente quando o fundo da grade éTransparent isso "ocupa espaço".

Eu venho de um plano de fundo da web, então isso é confuso; um elemento de contenção deve ser "testável", mesmo quando o plano de fundo não está definido.

questionAnswers(1)

yourAnswerToTheQuestion