public void Execute(object parameter) { var frame = VisualTreeHelper1.GetChildObject <Frame>(Application.Current.RootVisual); if (frame != null && parameter != null) { frame.Navigate(new Uri(parameter.ToString(), UriKind.Relative)); } }
private void AddableListBox_LayoutUpdated(object sender, EventArgs e) { for (int i = 0; i < Items.Count; i++) { var item = ItemContainerGenerator.ContainerFromIndex(i) as ListBoxItem; var addBtn = VisualTreeHelper1.GetChildObject <Button>(item, "AddButton"); var removeBtn = VisualTreeHelper1.GetChildObject <Button>(item, "RemoveButton"); if (i == Items.Count - 1) { addBtn.Visibility = Visibility.Visible; removeBtn.Visibility = Visibility.Collapsed; } else { addBtn.Visibility = Visibility.Collapsed; removeBtn.Visibility = Visibility.Visible; } } }
protected override void OnItemsChanged(NotifyCollectionChangedEventArgs e) { if (e.Action == NotifyCollectionChangedAction.Add || e.Action == NotifyCollectionChangedAction.Reset) { if (Items.Count > 1) { SelectedItem = Items[Items.Count - 1]; UpdateLayout(); ScrollIntoView(SelectedItem); } } else if (e.Action == NotifyCollectionChangedAction.Remove) { for (int i = 0; i < Items.Count; i++) { var item = ItemContainerGenerator.ContainerFromIndex(i) as ListBoxItem; var numberTB = VisualTreeHelper1.GetChildObject <TextBlock>(item, "NumberTB"); numberTB.Text = (i + 1).ToString(); } } }