Это мой первый раз с SL (но не с WPF). Я изучаю PRISM и смотрю отличные видео MTaulty: http://channel9.msdn.com/blogs/mtaulty/prism--silverlight-part-1-taking-sketched-code-towards-unity
Пока все хорошо, я с последним видео и делаю то же самое, что и Он в моей VS. Я использую SL4 & mvc2 web & prism для sl4.
Я нашел проблему и не знаю, что происходит.
Само мое приложение SL не показывает никаких изменений. У меня есть базовая оболочка:
<Grid x:Name="LayoutRoot" Background="Azure">
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="2*" />
</Grid.ColumnDefinitions>
<ctls:GridSplitter Grid.RowSpan="2" HorizontalAlignment="Right"
VerticalAlignment="Stretch" Width="2"
Background="Black" />
<ctls:GridSplitter Grid.Column="1"
HorizontalAlignment="Stretch" VerticalAlignment="Bottom"
Height="2" Background="Black" />
<Border Background="SkyBlue" CornerRadius="3"
Margin="5" Grid.RowSpan="2">
<ContentControl rgn:RegionManager.RegionName="FolderSelectionRegion"
HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" />
</Border>
<Border
Background="SkyBlue"
CornerRadius="3"
Margin="5"
Grid.Column="1">
<ContentControl
rgn:RegionManager.RegionName="MailSelectionRegion"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
HorizontalContentAlignment="Stretch"
VerticalContentAlignment="Stretch" />
</Border>
</Grid>
Дело в том, что я зарегистрировал View в первом regionManager, отлично, я зарегистрировал второе представление, но оно не показывает ... Хорошо, какая-то ошибка где-то ... но нет.
Я понял, что граница для второго RegionManager не отображается, хорошо. Я прокомментировал строку, которая регистрирует вид (вид работает), и вид все еще отображается. Я прокомментировал загрузчик, удалив его из Application_Startup, ничего, что все еще показывает представление (не возможно, нет никакого способа, которым мое приложение знает, как выполнить Shell, все закомментировано).
Короче говоря, я уверен, что если я удалю 3 файла, приложение все еще работает ... Я очистил решение, удалил .xap файлы из ClientBin ... Ничего, приложение все еще показывает вид и так далее. Другими словами, приложение не отражает изменений в коде.
Что происходит?
Спасибо.
РЕДАКТИРОВАТЬ: Почти год спустя ...
Итак, с тех пор я не трогал Silverlight, но сегодня я хотел сделать очень простое приложение (только путь и текстовое поле) и ... Да, мое приложение начало не показывать изменения.
Я не могу воспроизвести ошибку, я не знаю, что это за триггер, но я знаю, что это проблема ASP.NET MVC.
Проект, о котором я здесь говорю, и проект, который я сделал сегодня, оба использовали ASP.NET MVC для запуска проекта SL.
Я загрузил проект EmailClient (только ту часть, которая нам интересна) на мой хост: www.foxandxss.net/stuff/EmailClient.rar
Легко увидеть проблему. Для начала вы можете видеть, что в Shell.xaml цвет LayoutRoot - это Azure, и если вы запустите приложение, оно будет зеленым (когда я сегодня открыл это приложение, я изменил его на зеленый и работал, но изменений больше нет). Если вы измените цвет на другой, он не изменится. Если вы зайдете в App.xaml.cs и прокомментируете строки, которые создают и запускают загрузчик (чтобы приложение не запускалось), приложение все равно откроется. Как будто запущенное приложение - это какой-то кеш и каждое внесенное вами изменение, вы его не увидите.
Я попытался удалить xap из проекта MVC, но ничего.
Дело в том, что если вы щелкнете правой кнопкой мыши по проекту SL и нажмете «Просмотр в браузере», вы увидите изменения (Azure BG или ничего, если вы прокомментировали загрузчик), но если вы запустите его из проекта MVC, ничего .