Событие щелчка гиперссылкой WPF внутри элемента состояния не запускается - PullRequest
0 голосов
/ 20 января 2019

У меня есть приложение MVVM, в котором в качестве основного содержимого окна WPF ниже док-панели. Моя проблема заключается в том, что события щелчка гиперссылок внутри каждого StatusBarItem не запускаются, когда я нажимаю на них. Почему?

Я установил, что текст данных должен указывать на представление модели из кода конструктора представления.

Мои события размещаются в коде просмотра.

<DockPanel>
    <DockPanel DockPanel.Dock="Top" >  
        <Border x:Name="WindowTitleBar" 
                DockPanel.Dock="Top"
                CornerRadius="20 0 0 0"                                        
                Background="MediumOrchid">

            <StatusBar DockPanel.Dock="Top"  Background="Transparent" 
                       MouseDoubleClick="TriggerMaximize"
                       MouseMove="TriggerMoveWindow">

                <StatusBarItem x:Name="CloseButton" DockPanel.Dock="Right">
                    <TextBlock Margin="5"
                               VerticalAlignment="Center">
                        <Hyperlink Click="TriggerClose"
                                   Style="{StaticResource WindowIconStyle}">r
                        </Hyperlink>
                    </TextBlock>
                </StatusBarItem>

                <StatusBarItem DockPanel.Dock="Right">
                    <TextBlock Margin="5"
                               VerticalAlignment="Center">
                        <Hyperlink Click="TriggerMaximize" 
                                   Style="{StaticResource WindowIconStyle}">2
                        </Hyperlink>
                    </TextBlock>
                </StatusBarItem>

                <StatusBarItem  DockPanel.Dock="Right">
                    <TextBlock  Margin="5"
                               VerticalAlignment="Center">
                        <Hyperlink Click="TriggerMinimize"
                                   Style="{StaticResource WindowIconStyle}">0
                        </Hyperlink>
                    </TextBlock>
                </StatusBarItem>

                <StatusBarItem HorizontalAlignment="Center">
                    <TextBlock x:Name="WindowTitle" VerticalAlignment="Center" 
                               Foreground="White" 
                               FontSize="16"/>
                </StatusBarItem>

            </StatusBar>
        </Border>
    </DockPanel>

    <Grid>
    </Grid>
 </DockPanel>

Например, в представлении code-behind у меня есть место под событием для кнопки закрытия:

        private void TriggerClose(object sender, RoutedEventArgs e)
        {
            Close();
        }

но он никогда не срабатывает, когда пользователь нажимает гиперссылку.

...