CREANDO CADENA DE CONEXIÓN PARA SQL SERVER: WPF IU


Al igual que hicimos en publicación anterior para formularios Windows, armemos ahora un diálogo, pero para WPF, que utilice nuestro componente de creación de cadenas de conexión.

Para la interactividad, será necesario definir algunas propiedades, en el modelo de la página WPF, pero como dependientes (DependencyProperty)

public Boolean ShowDBs
{
   get { return (Boolean)GetValue(ShowDBsProperty); }
   set { SetValue(ShowDBsProperty, value); }
}
 
// Using a DependencyProperty as the backing store for ShowDBs.  This enables animation, styling, binding, etc...
public static readonly DependencyProperty ShowDBsProperty =
    DependencyProperty.Register("ShowDBs"typeof(Boolean), typeof(dlgConnectionModel), new PropertyMetadata(false));

De igual forma, para poder habilitar el botón Aceptar cuando la conexión sea correcta, etc.

A su vez, el componente lanza un evento cuando, por cambio en el tipo de autenticación, requiere (o no), credenciales.

Este evento, atrapado en el modelo, permitirá a su vez, habilitar o deshabilitar los controles de usuario y contraseña.

public dlgConnectionModel()
{
   CreateCommands();
   currentConnection = new();
   Current.RequireCredentials += Connection_RequireCredentials;
}
private void Connection_RequireCredentials(
   object? sender, 
   RequireCredentialsEventArgs e)
   => NeedCredentials = e.NeedCredentials;

Finalmente, al igual que en el diálogo para WinForms, el constructor de la ventana se establece como internal, para que sólo la clase que retorna la cadena de conexión pueda crear una nueva instancia.

Desde una aplicación WPF entonces, se podrá solicitar una cadena de conexión, a través de

ConnectionBuilder.PromptForConnection

El código fuente de este diálogo está aquí.

También utiliza una biblioteca de clases de apoyo para WPF que se encuentra aquí.

Comentario

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.