[英]Windows Phone 8.1 gridview
如何在gridview中創建一個堆棧面板,使堆棧面板中的各種元素響應不同的點擊事件?
堆棧面板將包含2個appbarbutton,每個appbarbutton都有一個文本塊,該文本塊會根據點擊次數增加...
<GridView ItemsSource={Binding}>
<GridView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<AppBarButton Icon="Like"
Name="like"
IsCompact="True"
Click="like_Click"/>
<TextBlock Name="numOfLike"
Text="{Binding No_Positive_Likes}"/>
</StackPanel>
<StackPanel Orientation="Horizontal">
<AppBarButton Icon="Dislike"
Name="dislike"
IsCompact="True"
Click="dislike_Click"/>
<TextBlock Name="numOfDisLike"
Text="{Binding No_negative_Likes}"/>
</StackPanel>
</StackPanel>
<StackPanel Orientation="Vertical"
Tapped="loadQuestionAnswer_Click">
<TextBlock Name="question"
Text="What is my name"
FontSize="30"/>
<TextBlock Text="2013-12-10"/>
</StackPanel>
</StackPanel>
</DataTemplate>
</GridView.ItemTemplate>
</GridView>
我已經使用BehaviorsSDK處理了這種情況。此SDK通過添加為事件調用函數的功能使生活變得輕松。 只需在項目中添加對BehaviorsSDK的引用,然后為每個事件在項目數據類中添加一個方法。 這是一個例子:
ObservableCollection<ItemModel> Items;
public class ItemModel
{
public bool No_Positive_Likes ...
public bool No_Negative_Likes ...
public void LikeButtonPressed()
{
...
}
public void DislikeButtonPressed()
{
...
}
}
然后在您的xamll中:
xmlns:i="using:Microsoft.Xaml.Interactivity"
xmlns:core="using:Microsoft.Xaml.Interactions.Core"
...
<GridView ItemsSource={Binding}>
<GridView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<AppBarButton Icon="Like"
Name="like"
IsCompact="True">
<i:Interaction.Behaviors>
<core:EventTriggerBehavior EventName="Click">
<core:CallMethodAction TargetObject="{Binding Mode=OneWay}" MethodName="LikeButtonPressed"/>
</core:EventTriggerBehavior>
</i:Interaction.Behaviors>
</AppBarButton>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.