Visual Studio 2010 の WPF プロパティ グリッドの非常に奇妙な動作に遭遇しました。プロパティとイベント ハンドラーの大規模なセットを備えたコンポーネント ツールセットを開発しています。refパラメータが問題を引き起こしています。
私のオブジェクトの 1 つで、次のように定義されたrefPositionChanged
パラメーターを持つイベント ハンドラーがあります。
public delegate void PositionChangedHandler(LineSeriesCursor sender, double newValue, **ref** bool cancelRendering);
public event PositionChangedHandler PositionChanged = null;
のインスタンスを作成し、LineSeriesCursor
イベント ハンドラーを定義するとき
LineSeriesCursor cursor = new LineSeriesCursor();
cursor.PositionChanged += [TAB][TAB]
ハンドラー メソッド スタブを正しく作成します。
cursor.PositionChanged += new LineSeriesCursor.PositionChangedHandler(cursor_PositionChanged);
void cursor_PositionChanged(LineSeriesCursor sender, double newValue, **ref** bool cancelRendering)
{
//this works and compiles then OK.
}
ただし、LineSeriesCursor
WPF プロパティ グリッドにを追加してからLineSeriesCursor
XAML のタグに移動しPositionChanged
、プロパティ グリッドからイベント ハンドラーを追加すると、次のようにメソッド スタブがrefなしで作成されます。
private void LineSeriesCursor_PositionChanged(LineSeriesCursor sender, double newValue, bool cancelRendering)
{
//Does not compile, because of invalid method parameter list. **ref** is missing.
}
Visual Studio 2010 のバグのように思えます。この件に関する同様の経験やアドバイスはありますか?
助けてくれてありがとう。