.class {
background-color:none;
}
Это недопустимое свойство. Валидатор W3C отобразит следующую ошибку:
Значение Ошибка: фоновый цвет none не является значением background-color: none
transparent
, возможно, был выбран как лучший термин вместо значений 0
или none
при разработке спецификации CSS.
Вы можете использовать OverrideMetadata:
FrameworkElement.FocusVisualStyleProperty.OverrideMetadata(
typeof(FrameworkElement),
new FrameworkPropertyMetadata(null));
Это может быть непросто, но вы можете написать функцию, которая изменяет существующий стиль контроля. Как только это будет написано, вы можете написать функцию, рекурсивно изменяющую стиль каждого элемента.
Похоже, для этого не существует волшебной пули:
http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/141c8bfa-f152-4f8a- aca0-3c3b5440d183
Я знаю, что это звучит утомительно, но вам, вероятно, придется делать то же самое для всех другие типы управления - индивидуально. Однако составление их списка и выполнение пары простых операций поиска / замены должны дать вам то, что вам нужно.
Согласно http://msdn.microsoft.com/en-us/library/bb613567.aspx , вы должны иметь возможность установить стиль глобального фокуса вот так:
<Style x:Key="{x:Static SystemParameters.FocusVisualStyleKey}">
<Setter Property="Control.Template">
<Setter.Value>
<ControlTemplate>
<Rectangle StrokeThickness="1"
Stroke="Black"
StrokeDashArray="1 2"
SnapsToDevicePixels="true"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Я не тестировал его, но полагаю, что, когда вы очищаете шаблон элемента управления, это фактически отключит прямоугольник фокуса для всего приложения (при условии, что вы включите этот стиль в app.xaml).