Example #1
0
        protected override void OnPropertyChanged([CallerMemberName] string propertyName = null)
        {
            if (propertyName == ItemsSourceProperty.PropertyName)
            {
                _children.IsReadOnly = ItemsSource != null;
            }
            else if (propertyName == SelectedItemProperty.PropertyName)
            {
                UpdateCurrentPage();
            }
            else if (propertyName == "CurrentPage" && ItemsSource != null)
            {
                if (CurrentPage == null)
                {
                    SelectedItem = null;
                }
                else
                {
                    int index = _templatedItems.IndexOf(CurrentPage);
                    SelectedItem = index != -1 ? _templatedItems.ListProxy[index] : null;
                }
            }

            base.OnPropertyChanged(propertyName);
        }