Хорошо, я знаю, что в DataBinding вы можете легко настроить таргетинг на первый или последний связанный элемент, но мне интересно, есть ли способ для вас неявно стилизовать первый и последний элемент в подклассе Panel (например, без добавления чего-либокоторый является первым или последним. Я просто хочу использовать порядковый номер.)
Например, у меня есть это ...
<UniformGrid Rows="1">
<RadioButton Content="First" />
<RadioButton Content="Middle" />
<RadioButton Content="Another Middle" />
<RadioButton Content="Last" />
</UniformGrid>
... и я хочу нацелиться настиль на первом элементе и второй на последнем элементе.
Тем не менее, я знаю, что могу ...
Добавить явный стиль к первому ипоследний элемент или
Добавьте явное присоединенное свойство к первому и последнему элементу и используйте его в триггере стиля.(Именно так я и склоняюсь.)
... но, опять же, я надеюсь избежать того и другого и перейти на чистый XAML с неявным стилем.
Итак, можно ли это сделать?
ОБНОВЛЕНИЕ :
На данный момент я остановился на общем подходе с присоединенными свойствами.Я создал AP с именем UIHelper.Position
, которая имеет значения First, Last и Default.Затем мы ссылаемся на него в триггерах внутри шаблона и стиля соответственно.
Это все еще требует, чтобы мы 'помечали' элементы управления с прикрепленным свойством, но это помогает нам преодолеть горб и избегать необходимости создавать несколько стилейс несколькими шаблонами.(Наш шаблон внутренне использовал CornerRadius, который не является свойством шаблонного элемента управления, поэтому мы не могли просто стилизовать его. Это должно было быть сделано в триггерах.)
Тем не менее, если кто-нибудь знает, как это сделатьне прибегая к приложенной собственности, не стесняйтесь ответить ниже.