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