Хорошо, я программировал приложение, которое загружало объединенные словари во время выполнения, чтобы изменить внешний вид и поведение, когда я застрял: некоторые элементы управления в моих формах просто не реагировали на стили, на которые, как мне казалось, они должны были реагировать.
Я пытался максимально упростить проблему и придумал что-то настолько простое, что, боюсь, я упускаю из виду очевидное кровотечение, но, в любом случае, так оно и есть:
<Window x:Class="Example.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="100" Width="50">
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary>
<Style TargetType="{x:Type TextBox}">
<Setter Property="Background" Value="Green"></Setter>
</Style>
</ResourceDictionary>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
<StackPanel>
<TextBox Text="1" Name="box1"/>
<TextBox Text="2" Name="box2"/>
<TextBox Text="3" Name="box3"/>
</StackPanel>
</Window>
Вопрос: почему первое текстовое поле не зеленое ?
==> то есть дизайнер показывает его зеленым цветом, но при запуске приложения его уже нет ...
Я знаю, что решение этой конкретной проблемы заключается в удалении объединенных диктитарных тегов, но мне нужно знать, как решить эту проблему с помощью объединенных словарей.
Спасибо!