Ho creato un controllo UserControl per database in cui l'utente immette nome utente e password per una connessione. Questo UserControl si trova in un MainWindow.xamlCrea evento wpf personalizzato
Ora, nel codice dietro del mio UserControl creo una connessione MSSQL. Se accedi correttamente, voglio sollevare un evento personalizzato per esporlo in MainWindow.
Per esempio in 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);
}
e In MainWindow.xaml voglio usare evento 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>
ho bisogno di questo per la connessione di tipo multiplo (MSSQL, Oracle, MySql ecc.).
Come ottenere questo?
@davymartu Ma invece di definire il proprio tipo delegato, che di solito utilizzare uno di quelli predefiniti, come [EventHandler] (http://msdn.microsoft.com/en-us/library/system.eventhandler.aspx) o [EventHandler] (http://msdn.microsoft.com/en-us/library/db0etb8x. aspx). –
Clemens
Ho definito un evento semplice. Tuttavia, se vuoi che l'evento bolla al contenitore genitore, devi creare un evento indirizzato e la risposta iltzortz spiega come crearlo. –