我已经创建了一个UserControl数据库连接,其中用户输入用户名和密码进行连接。 This UserControl in MainWindow.xaml创建自定义wpf事件
现在,在我的UserControl的代码背后创建一个MSSQL连接。如果登录成功,我想引发一个自定义事件以在MainWindow中公开。
例如在MyUserControl.xaml.cs
try
{
using (SqlConnection sqlConn = new SqlConnection(connection))
{
sqlConn.Open();
MessageBox.Show("Connessione Riuscita!", "Connessione a " + TextIP.Text, MessageBoxButton.OK, MessageBoxImage.Information);
RaiseMyEvent();
sqlConn.Close();
}
}
catch (SqlException ex)
{
MessageBox.Show("Connessione Fallita: " + ex.Message, "Connessione a " + TextIP.Text, MessageBoxButton.OK, MessageBoxImage.Error);
}
并在MainWindow.xaml我想使用mypersonalized事件:
<Window x:Class="XLogin.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"
xmlns:local="clr-namespace:XLogin" WindowStartupLocation="CenterScreen">
<Grid>
<local:DBLogin x:Name="DBLoginFrame" MyPersonalizedUCEvent="DBLoginFrame_MyPersonalizedUCEvent"/>
</Grid>
</Window>
我需要这种多类型的连接( MSSQL,Oracle,MySql等)。
如何得到它?
@davymartu但是,而不是定义自己的委托类型,你通常会使用预先定义子里的一个类的实例,如[EventHandler](http://msdn.microsoft.com/en-us/library/system.eventhandler.aspx)或[EventHandler](http://msdn.microsoft.com/zh-cn/library/db0etb8x。 ASPX)。 –
Clemens
我定义了一个简单的事件。但是,如果您希望事件冒泡到父容器,您应该创建一个路由事件,iltzortz答案解释如何创建它。 –