我将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没有倾斜效果......
谢谢!
答案 0 :(得分:7)
尝试将HubTile
添加为支持HyperLinkButton
的{{1}}或Button
的内容
将TiltEffect
添加到适用于Style
和PhoneApplicationPage.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"
(或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>
答案 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">