Прокрутите заголовок PanoramaItem в «широком» PanoramaItem - PullRequest
0 голосов
/ 25 января 2012

Я заинтересован в создании своего собственного 'Hub' Panorama.У меня работает «широкий» PanoramaItem, но сейчас я пытаюсь имитировать поведение, наблюдаемое в хабе Marketplace, где заголовок PanoramaItem прокручивается при перемещении по хабу.

Яищу способ его плавного оживления до конца хаба.Кто-нибудь пробовал это раньше или есть предложения?

Я бы предположил, что это будет примерно так:

//OnPanoramaViewChanged
//get X location of viewport
//animate title to X location

Однако не похоже, что к Панораме прикреплено свойство ScrollViewer.

ВЕсли вам интересно, вот как я сделал широкий элемент панорамы.

<controls:PanoramaItem  ScrollViewer.HorizontalScrollBarVisibility="Visible" Header="movies" Orientation="Horizontal" Width="900">
                <controls:PanoramaItem.HeaderTemplate >
                    <DataTemplate  >
                        <StackPanel>
                            <TextBlock Foreground="{StaticResource PanoramaHeaderBrush}" Text="{Binding}">
                            </TextBlock>
                        </StackPanel>
                    </DataTemplate>
                </controls:PanoramaItem.HeaderTemplate>
                <StackPanel>
                <!-- line list with image placeholder and text wrapping -->
                <ListBox ItemsSource="{Binding Items}" >
                    <ListBox.ItemsPanel>
                        <ItemsPanelTemplate>
                            <toolkit:WrapPanel Orientation="Horizontal" />
                        </ItemsPanelTemplate>
                    </ListBox.ItemsPanel>
                    <ListBox.Template>
                        <ControlTemplate>
                            <ItemsPresenter />
                        </ControlTemplate>
                    </ListBox.Template>
                    <ListBox.ItemTemplate>
                        <DataTemplate>
                            <StackPanel Margin="10">
                                <Grid Background="{StaticResource ControlTitlesInactivePivotBrush}" Width="173" Height="173" >
                                    <TextBlock FontSize="24" Text="Movie Title (2010)" TextWrapping="Wrap" Style="{StaticResource PhoneTextGroupHeaderStyle}"/>
                                    <Rectangle Fill="White" Height="48" Width="48" HorizontalAlignment="Right" VerticalAlignment="Bottom"> 
                                        <Rectangle.OpacityMask>
                                            <ImageBrush ImageSource="/Test;component/movie_icn.png" />
                                        </Rectangle.OpacityMask>

                                    </Rectangle>
                                </Grid>
                                <TextBlock Text="Movie Title:" Margin="12,0,12,0" Foreground="Black" />
                                <TextBlock Text="The Title" Margin="12,-6,12,0"  Foreground="Gray"/>
                            </StackPanel>
                        </DataTemplate>
                    </ListBox.ItemTemplate>
                </ListBox>
                </StackPanel>
            </controls:PanoramaItem>

1 Ответ

1 голос
/ 02 февраля 2012

Элемент управления Silverlight Panorama не поддерживает поведение, за которым вы следите, и не предоставляет возможность настраивать его так, чтобы это можно было сделать.

Если вы действительно этого хотите, то вам нужно создать собственный контроль с нуля.Я ожидаю, что это будет больше усилий, чем оправдано.Просто не создавайте очень широкий PanoramaItem.

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