W konstruktorze MainWindow
, ja rejestracji programu obsługi zdarzeń:Event Handler Null
public partial class MainWindow : Window, INotifyPropertyChanged
{
public MainWindow()
{
InitializeComponent();
pageViewDocText = new PageViewDocText();
framePageDocFieldDetail.Content = pageViewDocText;
pageViewDocText.NewPageIRPRO += new GabeLib.SearchCls.DocEventHandler(ViewIPRO);
}
protected void ViewIPRO(string IRPOlink) // ...
}
public partial class PageViewDocText : Page, INotifyPropertyChanged
{
public event GabeLib.SearchCls.DocEventHandler NewPageIRPRO;
private void btn_PageBreakNext(object sender, RoutedEventArgs e)
{
// this fires but NewPageIRPRO is null
if (NewPageIRPRO != null)
{
NewPageIRPRO("dummylink");
}
}
}
Ale w PageViewDocText
, NewPageIRPRO
jest null
Co robię źle?
Od PageViewDocText
, chcę zadzwonić pod numer MainWindow.ViewIPRO
.
To zdarzenie pożary przewodnika i jest zarejestrowany linię poniżej pageViewDocText.NewPageIRPRO + =
App.StaticGabeLib.Search.NewDocIRPRO += new GabeLib.SearchCls.DocEventHandler(ViewIPRO);
Czy 'PageViewDocText' konstruktor pożar zdarzenie? To jest łatwe do debugowania; po prostu spójrz na stos wywołań. Nie ma możliwości, aby wydarzenie miało wartość zerową po subskrypcji, chyba że pominiesz kod naruszający prawa. –
Myślę, że musisz pokazać nam linię kodu, w której wybierzesz 'NewPageIRPRO' mającą wartość null. –
@EdS. Żadna funkcja obsługi zdarzeń przycisku nie uruchamia tego zdarzenia. Nie mam pojęcia, dlaczego obsługa zdarzeń jest pusta. W GabeLib (czystej klasie) używam programu obsługi zdarzeń, który wydaje się być taki sam i działa dobrze. – Paparazzi