0

コンテナー コントロール (この例ではグリッド) の定義内で Routed イベントを入力しようとすると、インテリセンスが機能しません。ルーティング イベントを作成する唯一の方法は、グリッド プロパティ定義領域の外に Envent を記述し、この領域に貼り付けることです。たとえば、以下に抜粋した XAML コードでは、Button.Click="Button_Click" ルーティング イベントを貼り付ける必要がありました (入力することさえできませんでした)。どうすればこの問題を解決できますか? VS2012 と VS2013 の両方を使用しています

 <Grid Margin="0,0,-8,-3" Button.Click="Button_Click">
    <Button Content="Button" HorizontalAlignment="Left" Margin="45,35,0,0" VerticalAlignment="Top" Width="75"/>
    <Button Content="Button" HorizontalAlignment="Left" Margin="45,61,0,0" VerticalAlignment="Top" Width="75"/>
</Grid>
4

1 に答える 1

0

これは、Click イベントが ButtonBase に属し、Button がそれを継承しているためです。ButtonBase.Click と書くと、インテリセンスが動作します。TextBox.GotFocus と UIElement.GotFocus でも同じことが起こります。Microsoft は、このように実装して調整していると思います。

于 2013-11-01T01:18:08.873 に答える