Я не могу поверить, что никто не сталкивался с этим или, может быть, я просто что-то упустил.
У меня есть собственный DataSourceController, который обрабатывает получение данных и предоставляет их остальным элементам управления приложения. Естественно, он использует соединение SQL, которое я также инициализирую.
Код моего приложения:
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);
}
Теперь я хочу создать ObjectDataProvider в XAML, а затем использовать его для привязки данных в элементах управления:
<ObjectDataProvider ObjectType="{x:Type data:DataSourceController}" x:Key="DataSource" MethodName="GetVenues" />
Проблема в том, что DataSourceController не имеет конструктора без параметров и требует передачи объекта OracleSQLConnection (который является общедоступным свойством в моем коде приложения).
Это вообще возможно? Или я должен прибегнуть к использованию свойства DataContext в коде для каждого элемента управления, который я хочу привязать к данным?!