Esempio n. 1
0
        private void UpdateItemsVisualState()
        {
            if (this.itemsPanel != null)
            {
                this.StopInertia();

                VisualStateUpdateParams updateParams = new VisualStateUpdateParams(true);
                this.UpdateItemsVisualState(updateParams);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Forces each visual item to update its state.
        /// </summary>
        internal void UpdateItemsVisualState(VisualStateUpdateParams updateParams)
        {
            if (!this.isInitialized)
            {
                return;
            }

            if (this.itemsPanel != null)
            {
                foreach (LoopingListItem item in this.itemsPanel.Children)
                {
                    this.UpdateItemVisualState(item, updateParams);
                }
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Updates the visual state of a single item.
        /// </summary>
        /// <param name="item">The <see cref="LoopingListItem"/> instance which state is to be updated.</param>
        /// <param name="updateParams">The structure that encapsulates different update parameters such as Animate, EvaluateEnabled, etc.</param>
        internal virtual void UpdateItemVisualState(LoopingListItem item, VisualStateUpdateParams updateParams)
        {
            if (item.IsEmpty)
            {
                return;
            }

            int logicalIndex = item.LogicalIndex;

            item.BeginVisualStateUpdate();

            if (updateParams.EvaluateEnabled)
            {
                item.IsEnabled = this.IsItemEnabled(logicalIndex);
            }

            if (updateParams.EvaluateSelected)
            {
                item.IsSelected = this.IsItemSelected(logicalIndex);
            }

            item.EndVisualStateUpdate(true, updateParams.Animate);
        }