0

インスタンス変数に変更があるかどうかに、C# Windows フォーム アプリケーションのEnabledプロパティをバインドしたいと考えています。(つまり、変更されていない場合は、保存ボタンを無効にします。)ButtonDataSetDataSet

問題は、プロパティとしてではなくメソッドDataSet.HasChangesとして実装されているため、バインドできないことです。これを実装する簡単な方法はありますか?私はこれに間違った方法でアプローチしていますか? データが変更されるたびにボタンを手動で無効化および有効化するよりも、このような方がはるかに簡単なようです。

私の研究では、この質問に思いつきましたが、その解決策 (バインドする必要があるものがプロパティになるようにクラスを設計すること) は、この状況では実用的ではないようです。

4

1 に答える 1

0

WinForms アプリケーションでは、ボタンの Enabled プロパティを直接 DataSet にバインドする必要はまったくありません。コントロールがバインドできるプロパティに DataSet のメソッドを解釈するクラスを使用して、中間層を構築します (これは後で維持および拡張するのが簡単になります)。

public bool HasChanges
{
    get
    {
        return myData == null ? false : this.myData.HasChanges();
    }
}
于 2012-07-30T18:57:06.537 に答える