Esempio n. 1
0
        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 InitializeComponent()
 {
     AvaloniaXamlLoader.Load(this);
     _addScriptButton = this.FindControl <ToggleButton>("PART_AddScriptButton");
     _addScriptButton.GetObservable(ToggleButton.IsCheckedProperty).Subscribe(AddScriptButton_PointerPressed);
 }