我已經在wpf中創建了一個用戶控件。我也創建了一個主窗口。現在,我想要的是,當我點擊一個按鈕(在mainWindow中)時,用戶控件顯示爲一個對話框。假設我有一個名爲i-e的按鈕來創建新用戶。現在,我想要的是顯示控制(我爲新用戶創建)按鈕單擊而不是在mainWindow中調用它。如何在wpf中按鈕單擊時顯示用戶控件?
2
A
回答
0
在WPF演示應用程序Family Show,在主窗口(MainWindow.xaml)
<!-- New User Control -->
<local:NewUserControl x:Name="NewUserControl"
HorizontalAlignment="Center" VerticalAlignment="Center"
AddButtonClick="NewUserControl_AddButtonClick"/>
然後,在後面的代碼(MainWindow.xaml.cs)創建用戶控制,不同的用戶控件被隱藏或顯示爲的結果點擊按鈕中的動作。
/// <summary>
/// Hides the New User Control.
/// </summary>
private void HideNewUserControl()
{
NewUserControl.Visibility = Visibility.Hidden;
DiagramControl.Visibility = Visibility.Visible;
enableButtons();
if (family.Current != null)
DetailsControl.DataContext = family.Current;
}
/// <summary>
/// Shows the New User Control.
/// </summary>
private void ShowNewUserControl()
{
HideFamilyDataControl();
HideDetailsPane();
DiagramControl.Visibility = Visibility.Collapsed;
WelcomeUserControl.Visibility = Visibility.Collapsed;
if (PersonInfoControl.Visibility == Visibility.Visible)
((Storyboard)this.Resources["HidePersonInfo"]).Begin(this);
NewUserControl.Visibility = Visibility.Visible;
NewUserControl.ClearInputFields();
NewUserControl.SetDefaultFocus();
... //Removed for brevity
}
我建議您下載的家品展的應用程序來看看源代碼,或者browse它至少上線。
你可以把它放在一個單獨的窗口中,像Johannes Hofmeister建議的答案。
用戶控件的主要優點是該用戶界面塊可能在應用程序中的多個點上使用。 (例如,圖形控件的用戶控件具有滾動,縮放和屏幕截圖按鈕將出現在每個圖的旁邊,使其成爲用戶控件的理想候選者)。
2
您可以輕鬆地添加另一個窗口與您的usercontrol在上面!
首先,創建另一個窗口(在解決方案資源管理器中右鍵單擊,添加新項目窗口)。 其次,把你拖到用戶控件到窗口:
<Window x:Class="MyWpfApplication.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:DeleteMeTest="clr-namespace:DeleteMeTest"
Title="Window1" Height="300" Width="300">
<Grid>
<MyWpfApplication:UserControl1 />
</Grid>
</Window>
然後你必須設置按鈕單擊處理程序來顯示窗口:
MainWindow.xaml:
<Window x:Class="MyWpfApplication.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">
<Grid>
<Button Content="Click Me" Click="Button_Click"/>
</Grid>
</Window>
的Button_Click處理程序主窗口.xaml.cs:
private void Button_Click(object sender, RoutedEventArgs e)
{
new Window1().ShowDialog();
}
ShowDialog()方法打開一個dia日誌,這意味着窗口在頂部,必須先與(關閉)進行交互,然後才能返回與主窗口進行交互。
您也可以使用顯示方法來使用非阻塞窗口。
相關問題
- 1. 如何在c#中單擊按鈕時顯示txt文件
- 2. 用戶控件按鈕單擊事件
- 3. 如何在Android中單擊禁用按鈕時顯示消息?
- 4. 在用戶控件中單擊按鈕時激活主窗口
- 5. 如何在WPF中的鼠標上顯示按鈕控件?
- 6. 顯示用戶控件(WPF)在WPF
- 7. 如何在單擊按鈕時在結果中顯示結果?
- 8. 單擊按鈕時音頻控件不會顯示JavaScript
- 9. WPF按鈕單擊事件
- 10. WPF按鈕單擊事件
- 11. 如何在ASP.Net中單擊按鈕時顯示/隱藏面板
- 12. 如何在AngularJs中單擊按鈕時顯示錯誤類?
- 13. 如何在DataGridView中單擊按鈕時未顯示其他行?
- 14. 如何在sketchflow中單擊按鈕時顯示子窗口?
- 15. 如何在「AngularJS」中單擊圖標時顯示「註銷按鈕」
- 16. 如何使用javascript單擊按鈕時隱藏/顯示錶單?
- 17. 如何在用戶按下按鈕時顯示按鈕並顯示隨機數?
- 18. 單選按鈕控件中顯示
- 19. 如何能顯示按鈕點擊(按下)在WPF
- 20. 在MFC應用程序中單擊按鈕時顯示錶單
- 21. 如何在使用JavaScript單擊另一個按鈕時隱藏/顯示按鈕
- 22. 單擊按鈕時如何顯示文件選擇器?
- 23. 如何在用戶點擊按鈕時突出顯示提交的單元格
- 24. 如何在用戶單擊列表框項目時顯示按鈕?
- 25. WPF菜單像控件顯示時點擊一個控件;)如何?
- 26. 如下圖所示,單擊按鈕時如何顯示UIView?
- 27. 如何點擊按鈕在Timepicker插件中顯示時間?
- 28. 如何隱藏用戶控件後單擊gridview按鈕
- 29. 用戶單擊後退按鈕時顯示的錯誤信息
- 30. 當用戶單擊按鈕時顯示DevExpress AspxPopUpControl
是的,我喜歡你的答案,也apreciate它。但是,這是一種專業的方式,因爲那樣對用戶控制沒有任何好處。爲什麼我們不把整個東西寫在同一個窗口中,而不是使用用戶控制。 – 2012-02-11 16:23:51