private static void SetMetroFlowControlItemProperties(MetroFlowItem item, bool isLarge)
        {
            if (item == null)
            {
                return;
            }

            item.ImageVisibility     =
                item.TitleVisibility = isLarge ? Visibility.Visible : Visibility.Collapsed;

            item.TitleOpacity     =
                item.ImageOpacity = isLarge ? 1 : 0;

            item.ItemIndexVisibility = isLarge ? Visibility.Collapsed : Visibility.Visible;
            item.ItemIndexOpacity    = isLarge ? 0 : 1;
        }
        private void ControlLoaded()
        {
            var parentGrid = _layoutGrid;

            if (_layoutGrid == null || Items == null)
            {
                return;
            }

            Debug.WriteLine("Creating Control");

            parentGrid.ColumnDefinitions.Clear();
            parentGrid.Children.Clear();

            var index = 0;

            foreach (MetroFlowData item in Items)
            {
                var selectedCol = (index == SelectedColumnIndex);
                var colDef      = new ColumnDefinition {
                    Width = !selectedCol ? _minimizedGridLength : new GridLength(1, GridUnitType.Star)
                };
                parentGrid.ColumnDefinitions.Add(colDef);

                var control = new MetroFlowItem
                {
                    ItemIndex           = index + 1,
                    ItemIndexOpacity    = (!selectedCol) ? 1 : 0,
                    ItemIndexVisibility = (!selectedCol) ? Visibility.Visible : Visibility.Collapsed,

                    ImageSource     = new BitmapImage(item.ImageUri),
                    ImageOpacity    = (selectedCol) ? 1 : 0,
                    ImageVisibility = (selectedCol) ? Visibility.Visible : Visibility.Collapsed,

                    Title           = item.Title,
                    TitleOpacity    = (selectedCol) ? 1 : 0,
                    TitleVisibility = (selectedCol) ? Visibility.Visible : Visibility.Collapsed,
                };

                control.SetValue(Grid.ColumnProperty, index);
                control.Tap += ItemTap;

                parentGrid.Children.Add(control);

                index++;
            }
        }
		private static void SetMetroFlowControlItemProperties(MetroFlowItem item, bool isLarge)
		{
			if (item == null)
				return;

			item.ImageVisibility =
				item.TitleVisibility = isLarge ? Visibility.Visible : Visibility.Collapsed;

			item.TitleOpacity =
				item.ImageOpacity = isLarge ? 1 : 0;

			item.ItemIndexVisibility = isLarge ? Visibility.Collapsed : Visibility.Visible;
			item.ItemIndexOpacity = isLarge ? 0 : 1;
		}
		private void ControlLoaded()
		{
			var parentGrid = _layoutGrid;

			if (_layoutGrid == null || Items == null)
				return;

			Debug.WriteLine("Creating Control");

			parentGrid.ColumnDefinitions.Clear();
			parentGrid.Children.Clear();

			var index = 0;

			foreach (MetroFlowData item in Items)
			{
				var selectedCol = (index == SelectedColumnIndex);
				var colDef = new ColumnDefinition { Width = !selectedCol ? _minimizedGridLength : new GridLength(1, GridUnitType.Star) };
				parentGrid.ColumnDefinitions.Add(colDef);

				var control = new MetroFlowItem
				{
					ItemIndex = index + 1,
					ItemIndexOpacity = (!selectedCol) ? 1 : 0,
					ItemIndexVisibility = (!selectedCol) ? Visibility.Visible : Visibility.Collapsed,

					ImageSource = new BitmapImage(item.ImageUri),
					ImageOpacity = (selectedCol) ? 1 : 0,
					ImageVisibility = (selectedCol) ? Visibility.Visible : Visibility.Collapsed,

					Title = item.Title,
					TitleOpacity = (selectedCol) ? 1 : 0,
					TitleVisibility = (selectedCol) ? Visibility.Visible : Visibility.Collapsed,
				};

				control.SetValue(Grid.ColumnProperty, index);
				control.Tap += ItemTap;

				parentGrid.Children.Add(control);

				index++;
			}
		}