Я устанавливаю свойство зависимости в XAML (Silverlight 4):
<my:TopSearchBar x:Name="topSearchBar" Grid.Row="0" Navigator="{Binding ElementName=navigationFrame}" HorizontalAlignment="Stretch" VerticalAlignment="Top" />
Мне нужно зарегистрироваться для некоторых навигационных событий navigationFrame
. Тем не менее, следующее с ошибкой нулевого указателя:
public TopSearchBar()
{
// Required to initialize variables
InitializeComponent();
Loaded += new RoutedEventHandler(TopSearchBar_Loaded);
}
void TopSearchBar_Loaded(object sender, RoutedEventArgs e)
{
// Navigator is null
Navigator.Navigated += new NavigatedEventHandler(Navigated);
}
Когда подходящее время для регистрации этих обработчиков событий? Я попытался сделать это в установщике свойств, но эта точка останова не была достигнута:
public Frame Navigator
{
get { return GetValue(NavigatorProperty) as Frame; }
set { SetValue(NavigatorProperty, value); }
}