2012-08-16 178 views
-1

我創建了一個彈出窗口並希望在單擊按鈕時顯示它。但它不起作用,因爲它等待完成按鈕的職責。如何顯示彈出窗口?

我不想使用「計時器,線程和後臺工作者」,因爲我已經可以做到這一點。我找了一個又一個解決方案...

這裏是我的代碼:

void btnSearch_Click(object sender, RoutedEventArgs e) 
{ 
    LoadingOpen(); 

    if (cmbvideoserver.Text == "Youtube") 
     SearchInYoutube(); 
    else if (cmbvideoserver.Text == "Vimeo") 
     SearchInVimeo(); 

    LoadingClose(); 
} 

public void LoadingOpen() 
{ 
    myPopup.IsOpen = true; 
    Common.Popup = true; 
    window.Opacity = 0.3; 
} 

public void LoadingClose() 
{ 
    myPopup.IsOpen = false; 
    Common.Popup = false; 
    window.Opacity = 1; 
} 

和XAML:

<Window Name="window" x:Class="youtube.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="MainWindow" Height="350" Width="525" Loaded="window_Loaded"> 
    <Canvas Name="main"> 
    <Popup Name="myPopup" IsOpen="False" PopupAnimation="Slide" 
      Margin="100,10,20,0" Placement="Center" > 
     <Label Content="Loading..."></Label> 
    </Popup> 
    </Canvas> 
</Window> 

我怎麼能顯示我的主窗口上彈出? (沒有任何線程,定時器和後臺控件/類)

+0

設置彈出窗口的PlacementTarget屬性。 – 2012-08-16 10:27:48

+0

@NikhilAgrawal,我認爲這是沒有必要的,因爲它已經在主,並且我設置了xaml中的Placement屬性並且已經彈出出現(但不是在真實時間) – unbalanced 2012-08-16 10:30:45

+1

檢查鏈接http://stackoverflow.com/questions/361209/how-to-open-a-wpf-popup-another-control-is-click-using-xaml-markup-only – 2012-08-16 10:39:08

回答

0

可以通過使用ShowDialog()方法將Windows顯示爲對話框。

+0

但mypopup hasnt沒有任何一種顯示方法..?我認爲,如果它甚至存在,結果將不會改變。 – unbalanced 2012-08-16 10:35:08

+0

Harun Abi - 你的意思是說你的Window沒有任何ShowDialog()方法?那麼理想情況下,它應該有。 – Sandeep 2012-08-16 10:52:43