У меня есть сетка в моем приложении, и мне нужна эта сетка, чтобы работать как всплывающее окно при проверке переключателя, которое должно появиться, и, не снимая отметки, должно исчезнуть, и для этого я написал такой код.WPF grid и togglebutton взаимное связывание
<Grid x:Name="popup" Visibility="{Binding IsChecked,ElementName=button,Converter={StaticResource BooleanToVisibility}}" >
<Grid.Resources><Storyboard x:Key="ResetButton1">
<ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(ToggleButton.IsChecked)"
Storyboard.TargetName="button">
<DiscreteObjectKeyFrame KeyTime="0">
<DiscreteObjectKeyFrame.Value>
<System:Boolean>False</System:Boolean>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
</Storyboard></Grid.Resources>
<i:Interaction.Triggers>
<i:EventTrigger EventName="TouchDown">
<ei:ControlStoryboardAction Storyboard="{StaticResource ResetButton1}" />
</i:EventTrigger>
</i:Interaction.Triggers>
<TextBlock >this is a popup</TextBlock> </Grid>
<ToggleButton x:Name="button"></ToggleButton>
Проблема возникает, когда я снимаю контрольную кнопку после того, как проверил ее. Всплывающее окно остается там с анимацией. Он отлично работает, когда я выхожу из окна togglebutton. Как я могу справиться с этим?
но мне нужно изменить видимость всплывающего окна, когда я выхожу за пределы всплывающего окна. –
@AliasVarghese. Если это все, что вы ищете, почему бы просто не использовать фактический всплывающий файл (https://msdn.microsoft.com). /en-us/library/system.windows.controls.primitives.popup%28v=vs.110%29.aspx), то? Ваш вопрос просто спрашивает, как переключать видимость на основе IsChecked bool ToggleButton, так что это немного вводит в заблуждение, не так ли? –