【发布时间】:2010-10-12 22:34:14
【问题描述】:
我不敢相信没有人能解决这个问题,或者我只是错过了一些东西。
我有一个自定义的 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);
}
现在我想在 XAML 中创建 ObjectDataProvider,然后用它来绑定控件中的数据:
<ObjectDataProvider ObjectType="{x:Type data:DataSourceController}" x:Key="DataSource" MethodName="GetVenues" />
问题在于 DataSourceController 没有无参数构造函数,需要传入一个 OracleSQLConnection 对象(这是我的 App 代码隐藏中的公共属性)。
这有可能吗?或者我必须为每个要绑定数据的控件使用代码内 DataContext 属性?!
【问题讨论】:
标签: wpf xaml objectdataprovider app.xaml