WP7 Bing карта во всплывающем окне - PullRequest
2 голосов
/ 20 октября 2010

Я работаю над демонстрационным приложением WP7, и мое всплывающее окно работает с статическими ресурсами , с которыми у меня ранее были проблемы. Теперь, когда это не так, я получил новую ошибку, которая касается моего использования Bing Maps.

При использовании карт Bing на моих страницах WP7 Silverlight по умолчанию (панорама или обычные) карты отображаются нормально, но при использовании карты Bing в моем статическом макете ресурсов сама карта просто отображается черным.

Элементы управления вокруг карты, такие как панель навигации с режимами масштабирования и карты, отображаются нормально, а логотип карты Bing и контрольная линия расстояния также отображаются хорошо, но изображения карты просто черные (прозрачные, поскольку фон моего всплывающего окна черный ).

Кто-нибудь сталкивался с этим раньше?

Я пришел к сообщению, где эта проблема возникала на страницах по умолчанию в Silverlight (ошибка некоторых подписанных сборок), поэтому я попытался исправить их с неподписанными сборками, но затем мое приложение WP7 не запустилось.

* Редактировать Мой код XAML всплывающего ресурса выглядит следующим образом.

<ResourceDictionary xmlns:my="clr-namespace:Microsoft.Maps.MapControl;assembly=Microsoft.Maps.MapControl" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:Skanetrafiken.Controls;assembly=Skanetrafiken.Controls"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    >
    <Style TargetType="local:MapRouteDialog">
        <Setter Property="Background" Value="{StaticResource PhoneChromeBrush}"/>
        <Setter Property="Width" Value="480"/>
        <Setter Property="Height" Value="800"/>
        <Setter Property="Margin" Value="0"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="local:MapRouteDialog">
                    <Grid x:Name="LayoutRoot" Background="{StaticResource PhoneChromeBrush}" Margin="0, 0, 0, 0">
                        <Grid.RowDefinitions>
                            <RowDefinition Height="Auto"/>
                            <RowDefinition Height="*"/>
                        </Grid.RowDefinitions>

                        <!--TitlePanel contains the name of the application and page title-->
                        <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,30,0,40">
                            <TextBlock x:Name="DialogTitle" Text="MY DIALOG TITLE" Style="{StaticResource PhoneTextNormalStyle}"/>
                        </StackPanel>
                        <my:Map x:Name="RouteMap" Grid.Row="1" Margin="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"  NavigationVisibility="Visible">
                            <Button x:Name="ButtonZoomIn" HorizontalAlignment="Left" VerticalAlignment="Top" Height="56" Width="56" Margin="8,180,0,0" BorderBrush="{x:Null}" Foreground="{x:Null}">
                                <Button.Background>
                                    <ImageBrush ImageSource="/Skanetrafiken.Controls;component/images/Zoom_In.png" />
                                </Button.Background>
                            </Button>
                            <Button x:Name="ButtonZoomOut" HorizontalAlignment="Left" VerticalAlignment="Top" Height="56" Width="56" Margin="8,260,0,0" BorderBrush="{x:Null}" Foreground="{x:Null}">
                                <Button.Background>
                                    <ImageBrush ImageSource="/Skanetrafiken.Controls;component/images/Zoom_Out.png" />
                                </Button.Background>
                            </Button>
                            <my:MapLayer Name="RouteLines"></my:MapLayer>
                            <my:MapItemsControl Name="PushPins"/>
                        </my:Map>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</ResourceDictionary>

код не требуется для отображения карты, этот xaml работает на стандартной странице WP7 silverlight, но не при использовании в подобных ресурсах. При таком использовании изображение / контент карты будут отсутствовать и будут прозрачными.

Ответы [ 2 ]

1 голос
/ 10 декабря 2010

Извините за то, что я участник вечеринки, но на вас может повлиять этот кусочек истины:

http://blogs.claritycon.com/blogs/kevin_marshall/

Контент во всплывающем окне не является аппаратным ускоряются. Если вы попытаетесь оживить вещи во всплывающем окне, это будет медленно. Если вам нужно имитировать всплывающее окно, как функциональность, подумайте о пересмотре шаблонов PhoneApplicationFrame, чтобы обернуть Contentpresenter в сетке и поместите Contentpresenter под ним, чтобы действовать как заполнитель для поддельного всплывающего окна. Вы можете затем написать менеджер всплывающих окон для вставки какой бы ребенок у вас раньше не был в всплывающее окно в предъявителя контента / подделка неожиданно возникнуть. Это позволяет вам лучше перф на содержание во всплывающем окне и Вы можете иметь более плавную анимацию для скольжение / переворачивание всплывающего окна в место.

0 голосов
/ 06 декабря 2010

Добавление всплывающего окна в визуальное дерево (любой дочерний элемент управления вашей страницы) должно решить проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...