private void NodeListView_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            TapestryNode nd = (TapestryNode)nodeListView.SelectedItem;

            if(nd != null)
            {
                FragmentClickedEventArgs args =
                    new FragmentClickedEventArgs(nd);
                OnFragmentClicked(args);
            }
        }
        protected virtual void OnFragmentClicked(FragmentClickedEventArgs e)
        {
            //EventHandler<FragmentClickedEventArgs> handler = FragmentClicked;
            //if (handler != null)
            //{
            //    handler(this, e);
            //}

            //ide suggested rewrite of the above
            FragmentClicked?.Invoke(this, e);
        }
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            Button btn = (Button)sender;

            if (btn != null && mappings.ContainsKey(btn))
            {
                Tapestry.TapestryNode f = mappings[btn];
                FragmentClickedEventArgs args =
                    new FragmentClickedEventArgs(f);
                OnFragmentClicked(args);
            }
        }
 private void Fragment_Clicked(object sender,
     FragmentClickedEventArgs e)
 {
     txtUri.Text = e.Node.URI;
     ResolveContentControlForUri(e.Node);
 }
 protected virtual void OnFragmentClicked(FragmentClickedEventArgs e)
 {
     FragmentClicked?.Invoke(this, e);
 }
 private void Fragment_Clicked(object sender, FragmentClickedEventArgs e)
 {
     if(historyHandler != null)
     {
         historyHandler.PerformLoad(this, e.Node);
     }
 }