2

Windows 8 Metro アプリの開発に VisualStudio 11 ベータ版を使用していますが、エラーが発生しました。エラーは次のとおりです。

Cannot implicitly convert type 
   'System.EventHandler<Windows.UI.Input.ManipulationStartedEventArgs>' to 
   'Windows.UI.Xaml.Input.ManipulationStartedEventHandler'

そして私のコードは.

selectRectangle.ManipulationStarted += new EventHandler<ManipulationStartedEventArgs>(OnRectangleManipulationStarted);
ellipseTL.ManipulationStarted += new EventHandler<ManipulationStartedEventArgs>(OnRectangleManipulationStarted);
4

1 に答える 1

2

私はまだ Metro 用の VS 2012 を使用していませんが、私が理解していることから、Metro/.NET 4.5 では名前空間が少し再編成されているか、少なくとも selectRectangle/ellipseTL.ManipulationStarted イベントが別のクラスを使用しています。ManipulationStartedEventHandler確かにこの場合、彼らは ではないを探していますEventHandler<>

代わりにこれを試してください:

selectRectangle.ManipulationStarted += new Windows.UI.Xaml.Input.ManipulationStartedEventHandler(OnRectangleManipulationStarted);
ellipseTL.ManipulationStarted += new Windows.UI.Xaml.Input.ManipulationStartedEventHandler(OnRectangleManipulationStarted);

または、暗黙的なイベント ハンドラー構文を使用します。

selectRectangle.ManipulationStarted += OnRectangleManipulationStarted;
ellipseTL.ManipulationStarted += OnRectangleManipulationStarted;

しかし、私が言ったように、私はまだ新しい API を使っていません。

編集: OnRectangleManipulationStarted メソッドのシグネチャを ManipulationStartedEventHandler シグネチャと一致するように変更する必要がある場合もあります。

于 2012-05-08T14:01:17.020 に答える