簡體   English   中英

Windows Phone 8.1 gridview

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM