Сделать элемент притворным, будто его нет, но все равно быть видимым WPF - PullRequest
0 голосов
/ 13 марта 2020

У меня есть список со следующим:

<ListBoxItem>
    <StackPanel Orientation="Horizontal">
        <CheckBox Margin="0 0 5 0"></CheckBox>
        <TextBlock>hi stackoverflow</TextBlock>
    </StackPanel>
</ListBoxItem>

По какой-то причине, если вы попытаетесь щелкнуть элемент ListBoxItem в том месте, где отображается StackPanel, он нажимает на StackPanel, а не на ListBoxItem.

ListBoxItem при наведении курсора

Есть ли способ сделать StackPanel только видимым и не взаимодействующим, чтобы он не мешал, когда пользователь пытается щелкнуть элемент ListBoxItem?

1 Ответ

0 голосов
/ 13 марта 2020

В соответствии с вашими требованиями я использовал свойство IsHitTestVisible для TextBlock, и я также создал стек Background свойство для Null , чтобы он не распознавать любое событие мыши на панели стека.

     <ListBox>
        <ListBoxItem>
            <StackPanel Orientation="Horizontal" Background="{x:Null}">
                <CheckBox Margin="0 0 5 0"></CheckBox>
                <TextBlock IsHitTestVisible="true">hi stackoverflow</TextBlock>
            </StackPanel>
        </ListBoxItem>
    </ListBox>

Надеюсь, что решение совместимо с вашими требованиями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...