Je n'arrive pas à croire que personne ne soit passé par là ou peut-être que je manque quelque chose.Utiliser ObjectDataProvider
J'ai un DataSourceController personnalisé qui gère la récupération de données et la fournit au reste des contrôles d'application. Naturellement, il utilise la connexion sql que j'initialise aussi.
Mon code App:
private ISQLConnection conn;
public ISQLConnection SqlConnection { get { return conn; } }
private DataSourceController dataSource;
public DataSourceController DataSource { get { return dataSource; } }
protected override void OnStartup(StartupEventArgs e) {
//-------------------------------------------------------
// Initialize connections
conn = new OracleSQLConnection("connectionStringHere");
//-------------------------------------------------------
// Initialize controllers
//dataSource = new DataSourceController(conn);
base.OnStartup(e);
}
Maintenant, je veux créer ObjectDataProvider en XAML, puis l'utiliser pour la liaison de données dans les contrôles:
<ObjectDataProvider ObjectType="{x:Type data:DataSourceController}" x:Key="DataSource" MethodName="GetVenues" />
Le problème est que le DataSourceController n'a pas Constructeur sans paramètre et nécessite la transmission d'un objet OracleSQLConnection (qui est une propriété publique dans mon code-application).
Est-ce possible? Ou je dois recourir à l'utilisation de la propriété DataContext dans le code pour chaque contrôle que je veux lier aux données ?!
Merci Robert! Je l'ai essayé et ça marche! Bien que j'ai ensuite eu quelques problèmes (sans rapport) plus loin sur la route et ai dû désactiver pour init init-code, puis définissant l'objet en tant que DataContext de ma fenêtre. – Alexandra