示例#1
0
        public void RefreshAspectColoration()
        {
            if (ItemVariationTable.Items.Count == 0)
            {
                return;
            }

            for (int i = 0; i < AspectTable.Items.Count; i++)
            {
                DependencyObject obj = AspectTable.ItemContainerGenerator.ContainerFromIndex(i);

                if (obj == null)
                {
                    continue;
                }

                IEnumerable <Button> buttons = WpfUtil.FindVisualChildren <Button>(obj).ToList();

                buttons.Select(x => new { label = (AspectTable.Items[i] as IItemAspect).Name, value = x }).ToList()
                .ForEach(z =>
                {
                    if (((ItemVariationTable.SelectedItem ?? ItemVariationTable.Items[0]) as NinjaItem).Aspects.Any(y => y.Name.Contains(z.label)))
                    {
                        z.value.Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#651fff"));
                    }
                    else
                    {
                        z.value.Background = new SolidColorBrush((Color)ColorConverter.ConvertFromString("#9e9e9e"));
                    }
                });
            }
        }