Я не могу продублировать проблему с моей стороны.Вот что я попробовал:
Я создал приложение со стилем в ресурсах App.xaml.Я переместил App.xaml в подкаталог.У меня есть другое окно, в котором используется стиль, определенный в ресурсах App.xaml (он находится в другом каталоге), и он смог решить его просто отлично.Я добавил .. \ в начало моего оригинала StartupUri
.
Я немного искал, какую версию Visual Studio вы используете?Очевидно, что в VS2008 может быть ошибка, связанная с вашей проблемой:
http://bengribaudo.com/blog/2010/08/19/106/bug-single-application-resources-entry-ignored
Он говорит, что для обхода этой ошибки нужно установить атрибут x:Name
в Application
.Надеюсь, это поможет!
РЕДАКТИРОВАТЬ: я также попытался обработать событие Startup
вместо использования StartupUri
, и он все еще работал нормально.
public partial class App : Application
{
private void Application_Startup(object sender, StartupEventArgs e)
{
new MainWindow().Show();
}
}
РЕДАКТИРОВАТЬ ЧАСТЬ 2:
Хорошо, я вложил SolidColorBrush в ResourceDictionary следующим образом:
<ResourceDictionary>
<SolidColorBrush Color="LightGray" x:Key="brush" />
</ResourceDictionary>
И окно поднимает кисть.Дизайнеру это не нравится, но когда я переключаюсь со StaticResource на DynamicResource, он перестает жаловаться.
РЕДАКТИРОВАТЬ 3:
Я просто кое-что подумал.У вас установлен VS2010 SP1?В конструкторе исправлено некоторых ошибок .
И извините, мой номер 2 редактирования не сработал, как ожидалось.Я заметил, что мои синие загогулины исчезли в xaml, но я не проверял дизайнера.x__x