Эффект наклона для HubTile - PullRequest
       0

Эффект наклона для HubTile

2 голосов
/ 28 сентября 2011

Я добавил свойство TiltEffect.IsTiltEnabled к своему HubTile:

<toolkit:HubTile toolkit:TiltEffect.IsTiltEnabled="True" Title="title" Message="This is message" x:Name="name" DisplayNotification="False" Source="pB.png" Tap="tap" />

Я также добавил тип HubTile к коллекции TiltableItems в конструкторе страницы, согласно:

public HubPage()
{
    TiltEffect.TiltableItems.Add(typeof(HubtTile));
}

но HubTile не имеет эффекта наклона ....

Спасибо!

Ответы [ 4 ]

7 голосов
/ 30 декабря 2011

Попробуйте добавить HubTile в качестве контента HyperLinkButton или Button, который поддерживает TiltEffect

Добавьте Style к PhoneApplicationPage.Resources, который работает для Button и HyperLinkButton, которыедобавляет поддержку других элементов управления, например Content

<phone:PhoneApplicationPage.Resources>
    <Style x:Key="EmptyButtonStyle" TargetType="primitives:ButtonBase">
        <Setter Property="Background" Value="Transparent" />
        <Setter Property="Padding" Value="0" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="primitives:ButtonBase">
                    <Border Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}">
                        <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}"/>
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</phone:PhoneApplicationPage.Resources>

Также добавьте пространство имен примитивов на страницу

xmlns:primitives="clr-namespace:System.Windows.Controls.Primitives;assembly=System.Windows"

Затем используйте HubTile как HyperLinkButtons (или Button) Content вот так

<HyperlinkButton Style="{StaticResource EmptyButtonStyle}">
    <toolkit:HubTile toolkit:TiltEffect.IsTiltEnabled="True" Title="title" Message="This is message" x:Name="name" DisplayNotification="False" Source="pB.png" Tap="tap" />
</HyperlinkButton>

Это, наконец, будет поддерживать TiltEffect и HubTile

0 голосов
/ 22 февраля 2014

Hubtile по умолчанию не добавляется в список TiltableItems и должен быть добавлен manullay ... Добавьте следующий код в codebehind

public MainPage()
        {
            InitializeComponent();
             TiltEffect.TiltableItems.Add(typeof(HubTile));
            // Sample code to localize the ApplicationBar
            //BuildLocalizedApplicationBar();
        }

и добавьте следующую строку в ваш hubtile или сетку, содержащую плитку-концентратор

<phone:PanoramaItem CacheMode="{x:Null}" Header="item3" toolkit:TiltEffect.IsTiltEnabled="True">
0 голосов
/ 24 апреля 2012

Я нашел другое простое решение, которое прекрасно работает, когда HubTile используется как ListBox.ItemTemplate.

Просто установите TiltEffect.IsTiltEnabled="True" в ListBox и IsHitTestVisible="False" в HubTile и вуаля - все работает :) Вы все равно можете реагировать на HubTile клики по событию ListBox.SelectionChanged и HubTile имеет рабочий наклон.

0 голосов
/ 29 сентября 2011

Получить TiltEffect из Обновленный эффект наклона - Блог Питера Торра ИЛИ загрузить исходный код Silverlight Toolkit из Silverlight Toolkit - Загрузки , а затем добавить класс HubTile в список'tiltableItems' в TiltEffect.cs:

/// <summary>
    /// Default list of items that are tiltable
    /// </summary>
    static List<Type> tiltableItems = new List<Type>() { typeof(ListBoxItem) , typeof(HyperlinkButton) , typeof(HubTile) };

Если вы решите изменить Toolkit, обязательно соберите проект в Release и укажите целевой файл .dll, который вы создаете в своем собственном приложении.

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