Как отобразить ссылку в области сведений сводного обозревателя - PullRequest
0 голосов
/ 05 февраля 2012

Я использую новый сводный просмотрщик Silverlight 5 и не могу получить заголовок с гиперссылкой в ​​области сведений.

 <sdk:PivotViewer Name="pivotView">
    <sdk:PivotViewer.PivotProperties>
        <sdk:PivotViewerStringProperty Id="TitleProperty" DisplayName="Title" Options="CanSearchText" Binding="{Binding Title}" />
        <sdk:PivotViewerDateTimeProperty Id="YearProperty" DisplayName="Year" Options="CanFilter" Binding="{Binding Year}"/>
        <sdk:PivotViewerStringProperty Id="TypeProperty" DisplayName="Type" Options="CanFilter" Binding="{Binding Type}"/>
        <sdk:PivotViewerNumericProperty Id="AvgProperty" DisplayName="Average" Options="CanFilter" Binding="{Binding Avg}"/>
        <sdk:PivotViewerNumericProperty Id="RankProperty" DisplayName="Rank" Options="CanFilter" Binding="{Binding Rank}"/>
        <sdk:PivotViewerNumericProperty Id="EpisodeProperty" DisplayName="Episodes" Options="CanFilter" Binding="{Binding EpisodeCount}"/>
        <sdk:PivotViewerLinkProperty Id="UriProperty" DisplayName="Location"  Binding="{Binding Title}"/>
    </sdk:PivotViewer.PivotProperties>
    <sdk:PivotViewer.ItemTemplates>
        <sdk:PivotViewerItemTemplate>
            <Border Width="200" Height="200" Background="Gray">
                <StackPanel Orientation="Vertical">
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Text="{Binding Title}"/>
                    </StackPanel>
                </StackPanel>
            </Border>
        </sdk:PivotViewerItemTemplate>
    </sdk:PivotViewer.ItemTemplates>
</sdk:PivotViewer>

Ответы [ 2 ]

0 голосов
/ 15 мая 2012

У меня была проблема, из-за которой не удалось отобразить всю коллекцию, поскольку я связывал PivotViewerLinkProperty со строковым полем, а не с полем типа PivotViewerHyperlink.

Чтобы избежать изменения определения службы, я добавилКонвертер (зарегистрирован в моем App.xaml):

public class DBURLConverter : IValueConverter
{
    public object Convert(object value
        , Type targetType
        , object parameter
        , CultureInfo culture)
    {
        return new PivotViewerHyperlink("URL Title", new Uri(value.ToString()));
    }

    public object ConvertBack(object value
        , Type targetType
        , object parameter
        , CultureInfo culture)
    {
        throw new NotImplementedException();
    }
}

, а затем использовал конвертер при привязке к исходному строковому полю URL:

 <pivot:PivotViewerLinkProperty      
         Id="My URL"    Options="None"
         Binding="{Binding MyURL, Converter={StaticResource DBURLConverter}}" /> 

Чтобы ответить на ваш конкретный вопрос об отображении впанель сведений, Options="None" было достаточно, чтобы она отображалась на панели сведений, но не как фильтр и т. д.

0 голосов
/ 03 мая 2012

Я не вижу атрибута Options, установленного для свойства ссылки, как другие.

Чтобы показать его только в области сведений, необходимо установить Options=Private

<sdk:PivotViewerLinkProperty Id="UriProperty" DisplayName="Location" Options="Private"  Binding="{Binding Title}"/>

MSDN PivotViewerPropertyOptions Enum

...