Хорошо, я наткнулся на то, что ЯВЛЯЕТСЯ работать в качестве ответа, но не понимаю почему ... Если я попытаюсь изменить стиль для MyLabel2 (который является вторым производным экземпляром) с
<Style x:Key="styleMyLabel2" TargetType="{x:Type local:MyLabel2}" BasedOn="{StaticResource styleMyLabel}" >
<Setter Property="FontSize" Value="22" />
</Style>
to (просто удаляя элемент x: Key)
<Style TargetType="{x:Type local:MyLabel2}" BasedOn="{StaticResource styleMyLabel}" >
<Setter Property="FontSize" Value="22" />
</Style>
XAML работает ... БЕЗ необходимости явно связывать «Стиль», который будет использоваться.Он находит его непосредственно на основе ассоциации классов.
<src:MyLabel2 Content="Now Works as expected"/>
Теперь, когда он работает, может кто-нибудь объяснить, почему это лишает его использование ссылки x: Key?то есть: если у вас есть ключ x: он не подразумевается экземпляром класса, но не имеет его, прямой класс находит его автоматически.
РАСШИРЕНО ИЗ МОЕЙ ИГРЫ В СТИЛЕ ...
Итак, вот некоторые дополнения, которые я узнал.Стиль может быть определен более одного раза для одного и того же TARGET TYPE ... Однако один может иметь ссылку x: key, а другой - ссылку BasedOn.Это похоже на перегрузку функции с тем же номером, но с разными параметрами типа данных.
В моей проблеме, как только в стиль была добавлена ссылка "x: Key", любые прямые экземпляры класса«TargetType» НЕ был автоматически связан с правильным стилем, почти как объявление стиля с помощью «x: key», ТРЕБУЕТ любых экземпляров класса, чтобы явно добавить контекст стиля в xaml элемента управления.Так что теперь, как это сделать обоими способами.Я создал SECOND стиль с TargetType в качестве базового класса, но ITs BasedOn указывал на ссылку x: ссылается на один.Таким образом, я получаю настройку стиля по умолчанию, но могу по-прежнему назначать его базовому классу и производному классу, так что все 3 версии элемента управления могут автоматически синхронизироваться с соответствующим стилем без ссылки EXPLICIT.
<Style TargetType="Label" x:Key="wpfBaseLabel">
<Setter Property="FontSize" Value="11" />
</Style>
<Style TargetType="Label" BasedOn="{StaticResource wpfBaseLabel}" />
<Style TargetType="{x:Type local:MyLabel}" BasedOn="{StaticResource wpfBaseLabel}">
<Setter Property="Foreground" Value="Blue" />
</Style>
Итак, теперь, в окончательном XAML, я могу использовать все 3 «класса» с явной ассоциацией стилей или без нее.