मेरे पास Popup
है जिसमें "बंद करें" बटन है। पॉपअप को टॉगल बटन द्वारा खोला जाता है (इसकी IsOpen
संपत्ति ToggleButton
से जुड़ी है जैसा कि answer द्वारा प्रदान की गई है)। बटन दबाए जाने पर मैं पॉपअप को कैसे बंद कर सकता हूं? यह आपके CloseButton के लिए ईवेंट हैंडलर जोड़ने के लिए है करने केबच्चे बटन के प्रेस से पॉपअप बंद करें?
<Canvas x:Name="LayoutRoot">
<ToggleButton x:Name="ToggleButton"
Style="{DynamicResource ToggleButtonStyle}" Height="51" Canvas.Left="2.999" Width="50.333" IsHitTestVisible="{Binding ElementName=Popup, Path=IsOpen, Mode=OneWay, Converter={StaticResource BoolInverter}}"/>
<Popup x:Name="Popup" IsOpen="{Binding IsChecked, ElementName=ToggleButton}" StaysOpen="False" AllowsTransparency="True">
<Canvas Height="550" Width="550">
<Grid Height="500" Width="500" Canvas.Left="25" Canvas.Top="25" d:LayoutOverrides="Width, Height, Margin">
<Grid.Effect>
<DropShadowEffect BlurRadius="15" ShadowDepth="0"/>
</Grid.Effect>
<Grid.RowDefinitions>
<RowDefinition Height="0.132*"/>
<RowDefinition Height="0.868*"/>
</Grid.RowDefinitions>
<Rectangle x:Name="Background" Fill="#FFF4F4F5" Margin="0" Stroke="Black" RadiusX="6" RadiusY="6" Grid.RowSpan="2"/>
<Border x:Name="TitleBar" BorderThickness="1" Height="70" VerticalAlignment="Top" Margin="0,0.5,0,0" CornerRadius="5">
<DockPanel>
<TextBlock TextWrapping="Wrap" Text="FOOBAR POPUP TITLE" FontSize="24" FontFamily="Arial Narrow" Margin="17,0,0,0" d:LayoutOverrides="Height" VerticalAlignment="Center" FontWeight="Bold"/>
<Button x:Name="CloseButton" Content="Button" VerticalAlignment="Center" DockPanel.Dock="Right" HorizontalAlignment="Right" Margin="0,0,13,0" Style="{DynamicResource CloseButtonStyle}"/>
</DockPanel>
</Border>
<Border BorderThickness="1" Height="413" Grid.Row="1" Background="#FF2F2F2F" Margin="12">
<Rectangle Fill="#FFF4F4F5" RadiusY="6" RadiusX="6" Stroke="Black" Margin="12"/>
</Border>
</Grid>
</Canvas>
</Popup>
</Canvas>
यह दिलचस्प है (जैसा कि मैं एक्सएएमएल-केवल समाधान पसंद करता हूं), लेकिन यह एक अपवाद फेंकता है: "अवैधऑपरेशन अपवाद": संपत्ति में सभी संपत्ति संदर्भों को हल नहीं कर सकता पथ 'IsOpen'। सत्यापित करें कि लागू ऑब्जेक्ट गुणों का समर्थन करते हैं। " – user46874
अपवाद क्या है? –
(मेरी टिप्पणी संपादित की गई) – user46874