我已经在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. 如何在单击按钮时在结果中显示结果?
- 6. 显示来自其他用户控件的按钮在主窗口中单击的用户控件
- 7. 如何在DataGridView中单击按钮时未显示其他行?
- 8. 如何在sketchflow中单击按钮时显示子窗口?
- 9. 如何在“AngularJS”中单击图标时显示“注销按钮”
- 10. 如何在AngularJs中单击按钮时显示错误类?
- 11. 如何使用javascript单击按钮时隐藏/显示表单?
- 12. WPF按钮单击事件
- 13. 如何在用户按下按钮时显示按钮并显示随机数?
- 14. 单选按钮控件中显示
- 15. 如何在用户单击列表框项目时显示按钮?
- 16. 如何在用户点击按钮时突出显示提交的单元格
- 17. 单击按钮显示iframe
- 18. WPF菜单像控件显示时点击一个控件;)如何?
- 19. 用户单击后退按钮时显示的错误信息
- 20. 当用户单击按钮时显示DevExpress AspxPopUpControl
- 21. 单击#按钮时显示文本
- 22. 如何使用按钮单击显示和显示div?
- 23. 在按钮单击事件中使用图像控件显示图像
- 24. 单击按钮时,如何使用用户当前位置显示注释?
- 25. 如何在单击特定按钮时显示和隐藏div?
- 26. 如何在单击按钮时显示标签的内容
- 27. 单击单选按钮时如何显示微调框
- 28. 单击单选按钮时如何显示文本?
- 29. 单击单选按钮时如何显示timepicker对话框?
- 30. 单击单选按钮时如何突出显示标签?
是的,我喜欢你的答案,也apreciate它。但是,这是一种专业的方式,因为那样对用户控制没有任何好处。为什么我们不把整个东西写在同一个窗口中,而不是使用用户控制。 – 2012-02-11 16:23:51