HubTile的倾斜效果

时间:2011-09-28 18:15:15

标签: windows-phone-7.1 windows-phone-7

我将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 个答案:

答案 0 :(得分:7)

尝试将HubTile添加为支持HyperLinkButton的{​​{1}}或Button的内容

TiltEffect添加到适用于StylePhoneApplicationPage.Resources的{​​{1}},以便将对其他控件的支持添加为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" (或HubTileHyperLinkButtons这样

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>

答案 1 :(得分:0)

Updated Tilt Effect - Peter Torr's Blog获取TiltEffect 或者从Silverlight Toolkit - Downloads下载Silverlight工具包源代码 然后将HubTile类添加到TiltEffect.cs中的'tiltableItems'列表中:

/// <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作为目标。

答案 2 :(得分:0)

我发现其他简单的解决方案在HubTile用作ListBox.ItemTemplate时效果很好。

只需在列表框上设置TiltEffect.IsTiltEnabled="True",在IsHitTestVisible="False"设置HubTile,然后就可以了 - 它可以正常运行:)您仍然可以通过HubTile事件回复ListBox.SelectionChanged次点击HubTile具有工作倾斜效果。

答案 3 :(得分:0)

默认情况下,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">