public override void OnApplyTemplate() { _rootElement = GetTemplateChild(DataGridRow.DATAGRIDROW_elementRoot) as Panel; if (_expanderButton != null) { _expanderButton.Checked -= ExpanderButton_Checked; _expanderButton.Unchecked -= ExpanderButton_Unchecked; } _expanderButton = GetTemplateChild(DATAGRIDROWGROUPHEADER_expanderButton) as ToggleButton; if (_expanderButton != null) { EnsureExpanderButtonIsChecked(); _expanderButton.Checked += new RoutedEventHandler(ExpanderButton_Checked); _expanderButton.Unchecked += new RoutedEventHandler(ExpanderButton_Unchecked); } _headerElement = GetTemplateChild(DataGridRow.DATAGRIDROW_elementRowHeader) as DataGridRowHeader; if (_headerElement != null) { _headerElement.Owner = this; EnsureHeaderStyleAndVisibility(null); } _indentSpacer = GetTemplateChild(DATAGRIDROWGROUPHEADER_indentSpacer) as FrameworkElement; if (_indentSpacer != null) { _indentSpacer.Width = _totalIndent; } _itemCountElement = GetTemplateChild(DATAGRIDROWGROUPHEADER_itemCountElement) as TextBlock; _propertyNameElement = GetTemplateChild(DATAGRIDROWGROUPHEADER_propertyNameElement) as TextBlock; UpdateTitleElements(); }
protected override void OnApplyTemplate(TemplateAppliedEventArgs e) { _rootElement = e.NameScope.Find <Panel>(DataGridRow.DATAGRIDROW_elementRoot); _expanderButtonSubscription?.Dispose(); _expanderButton = e.NameScope.Find <ToggleButton>(DATAGRIDROWGROUPHEADER_expanderButton); if (_expanderButton != null) { EnsureExpanderButtonIsChecked(); _expanderButtonSubscription = _expanderButton.GetObservable(ToggleButton.IsCheckedProperty) .Skip(1) .Subscribe(v => OnExpanderButtonIsCheckedChanged(v)); } _headerElement = e.NameScope.Find <DataGridRowHeader>(DataGridRow.DATAGRIDROW_elementRowHeader); if (_headerElement != null) { _headerElement.Owner = this; EnsureHeaderVisibility(); } _indentSpacer = e.NameScope.Find <Control>(DATAGRIDROWGROUPHEADER_indentSpacer); if (_indentSpacer != null) { _indentSpacer.Width = _totalIndent; } _itemCountElement = e.NameScope.Find <TextBlock>(DATAGRIDROWGROUPHEADER_itemCountElement); _propertyNameElement = e.NameScope.Find <TextBlock>(DATAGRIDROWGROUPHEADER_propertyNameElement); UpdateTitleElements(); }
private void RowInsert_Executed(object sender, ExecutedRoutedEventArgs e) { DataGridRowHeader header = UIHelper.FindVisualParent <DataGridRowHeader>(sender as FrameworkElement); DataGridRow gridRow = UIHelper.FindVisualParent <DataGridRow>(header); int row = (gridRow as DataGridRow).GetIndex(); Command.SpreadsheetAddRow.Execute(row, this); }
private void RowText_Loaded(object sender, RoutedEventArgs e) { SpreadsheetHeaderText textBox = sender as SpreadsheetHeaderText; DataGridRowHeader header = UIHelper.FindVisualParent <DataGridRowHeader>(sender as FrameworkElement); DataGridRow gridRow = UIHelper.FindVisualParent <DataGridRow>(header); int row = (gridRow as DataGridRow).GetIndex(); textBox.data = data.rowDatas[row]; }
private void RowExpression_Executed(object sender, ExecutedRoutedEventArgs e) { DataGridRowHeader header = UIHelper.FindVisualParent <DataGridRowHeader>(sender as FrameworkElement); SpreadsheetHeaderExpressionText expressionTextBox = UIHelper.FindVisualChild <SpreadsheetHeaderExpressionText>(header); Dispatcher.BeginInvoke(DispatcherPriority.Input, new Action(delegate() { expressionTextBox.GetFocusBack(); })); }
private void RowExpression_GotFocus(object sender, RoutedEventArgs e) { SpreadsheetHeaderExpressionText expressionTextBox = sender as SpreadsheetHeaderExpressionText; DataGridRowHeader header = UIHelper.FindVisualParent <DataGridRowHeader>(sender as FrameworkElement); DataGridRow gridRow = UIHelper.FindVisualParent <DataGridRow>(header); TextBox textBox = UIHelper.FindVisualChild <TextBox>(header); int row = (gridRow as DataGridRow).GetIndex(); // TODO: there should be better way to hide the text than cleaning the header, // it's a workaround to fix the blank glitch if the expressionText contains variable //textBox.Visibility = Visibility.Hidden; gridRow.Header = ""; }
private void RowExpression_LostFocus(object sender, RoutedEventArgs e) { SpreadsheetHeaderExpressionText expressionTextBox = sender as SpreadsheetHeaderExpressionText; DataGridRowHeader header = UIHelper.FindVisualParent <DataGridRowHeader>(sender as FrameworkElement); DataGridRow gridRow = UIHelper.FindVisualParent <DataGridRow>(header); TextBox textBox = UIHelper.FindVisualChild <TextBox>(header); int row = (gridRow as DataGridRow).GetIndex(); string expression = expressionTextBox.GetExpression(); data.SetRowExpression(row, expression); expressionTextBox.UpdateDisplay(); expressionTextBox.Visibility = Visibility.Hidden; //textBox.Visibility = Visibility.Visible; UpdateRow(row); }
public IConnectable GetConnector(string variableId) { if (DataHelper.IsSpreadsheetRangeId(variableId)) { return(this); } else { string[] components = variableId.Split('_'); if (components.Length == 3) { // cell SpreadsheetComponentCell cell = GetComponentCell(variableId); if (cell != null) { return(cell.textBox); } } else if (components.Length == 2) { // column / row header if (components[1][0] == 'c') { // column header DataGridColumnHeader header = GetColumnHeader(variableId); if (header != null) { return(UIHelper.FindVisualChild <SpreadsheetHeaderExpressionText>(header)); } } else if (components[1][0] == 'r') { // row header DataGridRowHeader header = GetRowHeader(variableId); if (header != null) { return(UIHelper.FindVisualChild <SpreadsheetHeaderExpressionText>(header)); } } } } return(null); }
private void RowText_LostFocus(object sender, RoutedEventArgs e) { TextBox textBox = sender as TextBox; DataGridRowHeader header = UIHelper.FindVisualParent <DataGridRowHeader>(sender as FrameworkElement); DataGridRow gridRow = UIHelper.FindVisualParent <DataGridRow>(header); int row = (gridRow as DataGridRow).GetIndex(); string autoName = GetRowName(row); // if textbox is same as automated name, remove the label instead if (textBox.Text != autoName) { data.RenameRow(row, textBox.Text); } else { data.RenameRow(row, null); } UpdateRow(row); textBox.IsReadOnly = true; }
public static IObservable <EventPattern <DragEventArgs> > DropObserver(this DataGridRowHeader This) { return(Observable.FromEventPattern <DragEventHandler, DragEventArgs>(h => This.Drop += h, h => This.Drop -= h)); }
public static IObservable <EventPattern <RequestBringIntoViewEventArgs> > RequestBringIntoViewObserver(this DataGridRowHeader This) { return(Observable.FromEventPattern <RequestBringIntoViewEventHandler, RequestBringIntoViewEventArgs>(h => This.RequestBringIntoView += h, h => This.RequestBringIntoView -= h)); }
public static IObservable <EventPattern <TouchEventArgs> > PreviewTouchUpObserver(this DataGridRowHeader This) { return(Observable.FromEventPattern <EventHandler <TouchEventArgs>, TouchEventArgs>(h => This.PreviewTouchUp += h, h => This.PreviewTouchUp -= h)); }
public static IObservable <EventPattern <MouseButtonEventArgs> > PreviewMouseUpObserver(this DataGridRowHeader This) { return(Observable.FromEventPattern <MouseButtonEventHandler, MouseButtonEventArgs>(h => This.PreviewMouseUp += h, h => This.PreviewMouseUp -= h)); }
public static IObservable <EventPattern <MouseButtonEventArgs> > MouseDownObserver(this DataGridRowHeader This) { return(Observable.FromEventPattern <MouseButtonEventHandler, MouseButtonEventArgs>(h => This.MouseDown += h, h => This.MouseDown -= h)); }
public static IObservable <EventPattern <RoutedEventArgs> > LostFocusObserver(this DataGridRowHeader This) { return(Observable.FromEventPattern <RoutedEventHandler, RoutedEventArgs>(h => This.LostFocus += h, h => This.LostFocus -= h)); }
/// <summary> /// Builds the visual tree for the column header when a new template is applied. /// </summary> protected override void OnApplyTemplate(TemplateAppliedEventArgs e) { RootElement = e.NameScope.Find <Panel>(DATAGRIDROW_elementRoot); if (RootElement != null) { EnsureBackground(); UpdatePseudoClasses(); } bool updateVerticalScrollBar = false; if (_cellsElement != null) { // If we're applying a new template, we want to remove the cells from the previous _cellsElement _cellsElement.Children.Clear(); updateVerticalScrollBar = true; } _cellsElement = e.NameScope.Find <DataGridCellsPresenter>(DATAGRIDROW_elementCells); if (_cellsElement != null) { _cellsElement.OwningRow = this; // Cells that were already added before the Template was applied need to // be added to the Canvas if (Cells.Count > 0) { foreach (DataGridCell cell in Cells) { _cellsElement.Children.Add(cell); } } } _detailsElement = e.NameScope.Find <DataGridDetailsPresenter>(DATAGRIDROW_elementDetails); if (_detailsElement != null && OwningGrid != null) { _detailsElement.OwningRow = this; if (ActualDetailsVisibility && ActualDetailsTemplate != null && _appliedDetailsTemplate == null) { // Apply the DetailsTemplate now that the row template is applied. SetDetailsVisibilityInternal(ActualDetailsVisibility, raiseNotification: _detailsVisibilityNotificationPending, animate: false); _detailsVisibilityNotificationPending = false; } } _bottomGridLine = e.NameScope.Find <Rectangle>(DATAGRIDROW_elementBottomGridLine); EnsureGridLines(); _headerElement = e.NameScope.Find <DataGridRowHeader>(DATAGRIDROW_elementRowHeader); if (_headerElement != null) { _headerElement.Owner = this; if (Header != null) { _headerElement.Content = Header; } EnsureHeaderStyleAndVisibility(null); } //The height of this row might have changed after applying a new style, so fix the vertical scroll bar if (OwningGrid != null && updateVerticalScrollBar) { OwningGrid.UpdateVerticalScrollBar(); } }
public static IObservable <EventPattern <TouchEventArgs> > TouchLeaveObserver(this DataGridRowHeader This) { return(Observable.FromEventPattern <EventHandler <TouchEventArgs>, TouchEventArgs>(h => This.TouchLeave += h, h => This.TouchLeave -= h)); }
public static IObservable <EventPattern <ManipulationBoundaryFeedbackEventArgs> > ManipulationBoundaryFeedbackObserver(this DataGridRowHeader This) { return(Observable.FromEventPattern <EventHandler <ManipulationBoundaryFeedbackEventArgs>, ManipulationBoundaryFeedbackEventArgs>(h => This.ManipulationBoundaryFeedback += h, h => This.ManipulationBoundaryFeedback -= h)); }
public static IObservable <EventPattern <ManipulationInertiaStartingEventArgs> > ManipulationInertiaStartingObserver(this DataGridRowHeader This) { return(Observable.FromEventPattern <EventHandler <ManipulationInertiaStartingEventArgs>, ManipulationInertiaStartingEventArgs>(h => This.ManipulationInertiaStarting += h, h => This.ManipulationInertiaStarting -= h)); }
public static IObservable <EventPattern <DependencyPropertyChangedEventArgs> > FocusableChangedObserver(this DataGridRowHeader This) { return(Observable.FromEventPattern <DependencyPropertyChangedEventHandler, DependencyPropertyChangedEventArgs>(h => This.FocusableChanged += h, h => This.FocusableChanged -= h)); }
public static IObservable <EventPattern <EventArgs> > InitializedObserver(this DataGridRowHeader This) { return(Observable.FromEventPattern <EventHandler, EventArgs>(h => This.Initialized += h, h => This.Initialized -= h)); }
public static IObservable <EventPattern <DragEventArgs> > PreviewDragLeaveObserver(this DataGridRowHeader This) { return(Observable.FromEventPattern <DragEventHandler, DragEventArgs>(h => This.PreviewDragLeave += h, h => This.PreviewDragLeave -= h)); }
public static IObservable <EventPattern <GiveFeedbackEventArgs> > GiveFeedbackObserver(this DataGridRowHeader This) { return(Observable.FromEventPattern <GiveFeedbackEventHandler, GiveFeedbackEventArgs>(h => This.GiveFeedback += h, h => This.GiveFeedback -= h)); }
public static IObservable <EventPattern <ContextMenuEventArgs> > ContextMenuClosingObserver(this DataGridRowHeader This) { return(Observable.FromEventPattern <ContextMenuEventHandler, ContextMenuEventArgs>(h => This.ContextMenuClosing += h, h => This.ContextMenuClosing -= h)); }
public static IObservable <EventPattern <ManipulationCompletedEventArgs> > ManipulationCompletedObserver(this DataGridRowHeader This) { return(Observable.FromEventPattern <EventHandler <ManipulationCompletedEventArgs>, ManipulationCompletedEventArgs>(h => This.ManipulationCompleted += h, h => This.ManipulationCompleted -= h)); }
public static IObservable <EventPattern <SizeChangedEventArgs> > SizeChangedObserver(this DataGridRowHeader This) { return(Observable.FromEventPattern <SizeChangedEventHandler, SizeChangedEventArgs>(h => This.SizeChanged += h, h => This.SizeChanged -= h)); }
public static IObservable <EventPattern <RoutedEventArgs> > UnloadedObserver(this DataGridRowHeader This) { return(Observable.FromEventPattern <RoutedEventHandler, RoutedEventArgs>(h => This.Unloaded += h, h => This.Unloaded -= h)); }
public static IObservable <EventPattern <ToolTipEventArgs> > ToolTipClosingObserver(this DataGridRowHeader This) { return(Observable.FromEventPattern <ToolTipEventHandler, ToolTipEventArgs>(h => This.ToolTipClosing += h, h => This.ToolTipClosing -= h)); }
/// <summary> /// AutomationPeer for DataGridRowHeader /// </summary> /// <param name="owner">DataGridRowHeader</param> public DataGridRowHeaderAutomationPeer(DataGridRowHeader owner) : base(owner) { }
public static IObservable <EventPattern <QueryContinueDragEventArgs> > QueryContinueDragObserver(this DataGridRowHeader This) { return(Observable.FromEventPattern <QueryContinueDragEventHandler, QueryContinueDragEventArgs>(h => This.QueryContinueDrag += h, h => This.QueryContinueDrag -= h)); }