| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > WPF и Silverlight > как смена цвет родительскому контейнеру Grid? |
| Автор: jenik15 12.12.2009, 00:36 | ||||
| Подскажите, как будет правильно сделать такую вещь на WPF. У меня есть множество линий. Я их добавляю все на Grid. По нажатию кнопки хочу сменить цвет добавленных всех линий. Но сохранять коллекцию и перерисовывать ее снова я не хочу. То есть видимость добавленных линий у меня только в методе:
Хочу сменить цвет всех добавленных линий без перебора коллекции, но к сожалению вижу, что нету у грида свойства Foreground:
Как можно сменить цвет родительскому Контролу, чтоб сменился он у всех дочерних (Не перебирая дочерних элементов). |
| Автор: jenik15 12.12.2009, 15:38 | ||||||
| Спасибо за совет. Так и хочу теперь сделать, но возникло исключение и не могу разобраться, почему оно возникает. Значит цвет я буду брать с родительского грида: Написал такой вот грид в который и буду добавлять дочерние линии. Добавил ему свойство ForeColor
А биндинг думаю делать так:
Но столкнулся с проблемой, что во время инициализации
Возникает исключение: Инициализатор типа "GradientDescentWPF.WpfExConrols.GridEx" выдал исключение. {"Тип значения по умолчанию не совпадает с типом свойства \"ForeColor\"."} К сожалению, мне оно не слишком информативно. Подскажите, пожалуйста, что сделано не так. |
| Автор: tol05 12.12.2009, 17:45 | ||||
вместо
используйте
|
| Автор: jenik15 12.12.2009, 19:42 | ||
| Спасибо все работает. Только использовал для DependencyProperty new FrameworkPropertyMetadata(System.Windows.Media.Brushes.Black, FrameworkPropertyMetadataOptions.AffectsMeasure), чтоб задать Brushes.Black как стандартный цвет.
|