В основном, во время моего MeasureOverride
я хочу проверить, не установлено ли для моего дочернего элемента определенное свойство независимо от того, к какому типу элементов это относится.
public override Size MeasureOverride(Size availableSize)
{
foreach (UIElement child in InternalChildren)
{
//Check for IsSelected property?
}
}
Как можно было бы сделать это таким образом, чтобы у ребенка было свойство в наличии, а затем получить его значение? Проблема в том, что UIElement не имеет свойства IsSelected, и панель может принимать любого дочернего элемента, который поддерживает это свойство, поэтому я не могу просто привести к определенному типу ...
Ну, я смотрю на 2 возможных сценария:
1) Дочерний объект не добавился в качестве владельца Selector.IsSelected
DependencyProperty, и в этом случае этот дочерний элемент полностью игнорируется.
2) Ребенок добавил себя в качестве владельца Selector.IsSelected
DependencyProperty, и в этом случае мне нужно это значение.
По сути, я хочу, чтобы значение IsSelected также предотвращало сбой моего приложения в случае, если нет значения, связанного с этим дочерним элементом.