У меня есть приложение 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();
}
но он никогда не срабатывает, когда пользователь нажимает гиперссылку.