誰もこれを渡ったことはないと思うし、何かが足りないと思うかもしれません。ObjectDataProviderの使用
私はデータを取得し、残りのアプリケーションコントロールに提供するカスタム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オブジェクト(アプリケーションコードビハインド内のパブリックプロパティ)が必要です。
これはすべて可能ですか?または、私はデータバインドしたい各コントロールのコード内のDataContextプロパティを使用することに頼る必要がありますか?
ありがとうRobert!私はこれを試して、それは働いた!私はその後、さらに関連性のないいくつかの(無関係の)問題を抱えていましたが、コード内のinitをオプトアウトしてから、オブジェクトを自分のウィンドウのDataContextとして設定する必要がありました。 – Alexandra