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

时间:2012-01-30 15:51:04

标签: wpf

我有主窗口,包含具有不同用户控件的网格。每个控件都在单独的Xaml中定义。然后在MainWindow.xaml中我匹配主窗口的所有粒子。

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

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以在菜单中放置一个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>

如果您不想在单击它时弹出窗口消失,请将StaysOpen更改回True(默认值)。在这种情况下,默认情况下弹出窗口内的togglebutton看起来有点奇怪,但你可以设置样式看起来更好。

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

相关问题