Я использую Набор инструментов Silverlight , чтобы установить стиль для всего моего приложения.Теперь мне нужно удалить неявный стиль из определенного раздела, чтобы он не мешал другим стилям в этом разделе.
В основном я хочу сделать что-то вроде этого:
<theme:BureauBlackTheme>
<StackPanel x:Name="LayoutRoot">
<StackPanel><!-- Use the standard Bureau Black theme here --></StackPanel>
<StackPanel><!-- I don't want any implicit styling on this section --></StackPanel>
</StackPanel>
</theme:BureauBlackTheme>
Глядя на исходный код инструментария Silverlight, я обнаружил, что темы применяются путем слияния словарей ресурсов:
...
// Load the theme
ResourceDictionary resources = null;
using (stream)
{
resources = ResourceParser.Parse(stream, true);
owner.MergedDictionaries.Add(resources);
}
...
Где файлы тем содержат набор неявных стилей:
<!--ScrollBar-->
<Style TargetType="ScrollBar">
<Setter Property="MinWidth" Value="17" />
...
Поэтому мне нужен способ удалить все неявные стили из определенного раздела, но только из этого раздела.Мне это нужно по той причине, что эти стили влияют на стилирование стороннего элемента управления (я думаю, это связано с приоритетом стилей элемента управления ).
Является ли этовозможно в Silverlight 4?Обходные пути тоже приветствуются.
Заранее спасибо!