2012-01-30 178 views
0

我有主窗口,包含具有不同用戶控件的網格。每個控件都在單獨的Xaml中定義。然後在MainWindow.xaml中匹配我主窗口的所有粒子。如何打開鏈接按鈕的彈出窗口並使用彈出窗口中的按鈕關閉它?

我的一個userControls是一個包含按鈕的菜單。 我想單擊菜單中的某個按鈕後調用彈出窗口。彈出窗口將包含一些文本,按鈕並覆蓋主窗口。 所以問題是如何調用從菜單按鈕彈出並從位於彈出按鈕關閉它?

謝謝!

回答

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> 

如果您不希望彈出窗口在您單擊關閉時消失,則更改爲True(默認值)。在這種情況下,默認情況下,彈出窗口中的togglebutton看起來有點奇怪,但您可以將其設計得更好看。

如果不是所有的代碼都在同一個Xaml文件中,而不是通過ElementName綁定,則可以將它們全部綁定到viewmodel中的布爾屬性。

相關問題