День 2, и я понятия не имею.[.Net 3.5, VS 2008]
У меня есть UserControl
, который определяет ClickEvent
:
public static readonly RoutedEvent ClickEvent = EventManager.RegisterRoutedEvent (
"Click", RoutingStrategy.Bubble, typeof ( RoutedEventHandler ), typeof ( TouchToggleButton ) );
и метод OnClick
:
protected virtual void OnClick ( )
{
RaiseEvent ( new RoutedEventArgs { RoutedEvent = ClickEvent, Source = this } );
}
В каждом из двух разных окон я связываю экземпляр этого элемента управления с обработчиком события.
<wft:TouchToggleButton DockPanel.Dock="Top" x:Name="measurableButton" Click="measurableButton_Click">Cannot Measure</wft:TouchToggleButton>
и
<wft:TouchToggleButton x:FieldModifier="public" x:Name="BuyoutButton" Click="BuyoutButton_Click">Buyout</wft:TouchToggleButton>
и, наконец, у меня определены два обработчика:
private void measurableButton_Click ( object sender, RoutedEventArgs e )
{
IsMeasurable = !IsMeasurable;
OnMeasurableButtonChanged ( );
}
и
private void BuyoutButton_Click ( object sender, RoutedEventArgs e )
{
IsBuyout = !IsBuyout;
OnBuyoutButtonChanged ( );
}
В обоих случаях, если я ставлю точку останова на OnClick
, она попадает.В случае measureableButton, RaiseEvent
переходит к measureurableButton_Click;в случае BuyoutButton RaiseEvent НЕ переходит к BuyoutButton_Click.
В приложении нигде нет ни единой разводки (- =) BuyoutButton.Click.Что еще я могу проверить, чтобы выяснить причину различия в этом поведении?