Поскольку ссылка, упомянутая в принятом ответе, больше не работает, поэтому я отправляю свой подход.
<Path Stroke="Red">
<Path.Data>
<GeometryGroup>
<LineGeometry x:Name="G1" StartPoint="100,100" EndPoint="100,0"/>
</GeometryGroup>
</Path.Data>
<Path.Triggers>
<EventTrigger RoutedEvent="Loaded">
<BeginStoryboard>
<Storyboard>
<PointAnimationUsingPath Storyboard.TargetName="G1" Storyboard.TargetProperty="EndPoint">
<PointAnimationUsingPath.PathGeometry>
<PathGeometry Figures="M 100,0 C 150,50 200,75 250, 100" />
</PointAnimationUsingPath.PathGeometry>
</PointAnimationUsingPath>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Path.Triggers>
</Path>
Если я правильно понял, вы хотите, чтобы поповер закрывался, когда пользователь щелкает практически везде, кроме внутренней части самого поповера, за исключением кнопки фактического закрытия. Это может быть выполнено с помощью прослушивателя событий:
$('html').click(function() {
if(!$(event.target).is('#foo')) {
// Code to hide/remove popovers
}
});
Проверьте этот plunkr .
Или, в вашем конкретном сценарии:
$('html').click(function() {
if(!$(event.target).is('.my-popover-class')) {
vm.togglePopover = false;
}
})