如何打开链接按钮的弹出窗口并使用弹出窗口中的按钮关闭它?

问题描述:

我有主窗口,包含具有不同用户控件的网格。每个控件都在单独的Xaml中定义。然后在MainWindow.xaml中匹配我主窗口的所有粒子。如何打开链接按钮的弹出窗口并使用弹出窗口中的按钮关闭它?

我的一个userControls是一个包含按钮的菜单。 我想单击菜单中的某个按钮后调用弹出窗口。弹出窗口将包含一些文本,按钮并覆盖主窗口。 所以问题是如何调用从菜单按钮弹出并从位于弹出按钮关闭它?

谢谢!

您可以在菜单中放置一个togglebutton,然后将Popup的IsOpen属性绑定到togglebutton的IsChecked属性。

<ToggleButton x:Name="toggle" Content="ToggleButton" HorizontalAlignment="Left" Height="68" Margin="78,104,0,0" VerticalAlignment="Top" Width="102"/> 
    <Popup IsOpen="{Binding ElementName=toggle, Path=IsChecked}" StaysOpen="False"> 
     <Grid Background="#FFE5E5E5" Height="299" Width="269"> 
      <ToggleButton IsChecked="{Binding ElementName=toggle, Path=IsChecked}" Content="Close" HorizontalAlignment="Left" VerticalAlignment="Top" Width="75"/> 
     </Grid> 
    </Popup> 

如果您不希望弹出窗口在您单击关闭时消失,则更改为True(默认值)。在这种情况下,默认情况下,弹出窗口中的togglebutton看起来有点奇怪,但您可以将其设计得更好看。

如果不是所有的代码都在同一个Xaml文件中,而不是通过ElementName绑定,则可以将它们全部绑定到viewmodel中的布尔属性。