我已經創建了一個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答案解釋如何創建它。 –