2

我有一个网格视图。
它有一个 Itemptemplate (textblock, image) 和 itemsource。textBlock 和 Image 绑定到 itemsource。我想向 ItempTemplate 添加一个按钮,但我无法检测到 eventHandler。在我的 .cs 文件中,我没有看到文本块、图像或按钮。我该如何设置事件,

这是项目模板的代码

<DataTemplate x:Key="IDViewStyle">
        <Grid Width="350" Height="450" >
            <Grid.RowDefinitions>
                <RowDefinition/>
                <RowDefinition Height="40"/>
            </Grid.RowDefinitions>
            <Grid>
                <Border Background="#B2060606" />
                <Button HorizontalAlignment="Right" BorderThickness="0" x:Name="eraseButton" VerticalAlignment="Top">
                    <Image Source="/Assets/Images/erease.png" Width="90" Margin="0,-7,-15,15"/>
                </Button>
                <StackPanel Margin="0" Orientation="Vertical" HorizontalAlignment="Center" VerticalAlignment="Center">

                    <TextBlock HorizontalAlignment="Center" TextWrapping="Wrap" Text="+" VerticalAlignment="Center" Style="{StaticResource PageHeaderTextStyle}" FontSize="160" Margin="0"/>
                    <TextBlock TextWrapping="Wrap" Text="Ekle" TextAlignment="Center" Style="{StaticResource HeaderTextStyle}"/>
                </StackPanel>
                <Image  Stretch="Fill" Source="{Binding Image}"/>
            </Grid>

            <TextBlock TextWrapping="Wrap" Text="{Binding Type}" VerticalAlignment="Top" Grid.Row="1" Style="{StaticResource SubheaderTextStyle}" TextAlignment="Center"/>
        </Grid>
    </DataTemplate>

和我的 .cs 文件

Data.IdentityTypeCollection collection;
gView.SelectionChanged += lvIdTypes_SelectionChanged;
collection = new Data.IdentityTypeCollection();
gView.ItemsSource = collection;
gView.ScrollIntoView(collection);

和我的 mainpage.xaml

<GridView x:Name="gView" Grid.Row="1" Grid.RowSpan="2" Margin="117,0,0,100" ItemTemplate="{StaticResource IDViewStyle}"/>

如何在项目模板中使用按钮事件

4

2 回答 2

0

在 GridView 上,您可以分配ItemClick="YourClickEvent"如下属性:

    <GridView
        x:Name="itemGridView"
        IsItemClickEnabled="True"
        ItemClick="ItemView_ItemClick"></GridView>

并在您的 .cs 文件中的事件处理程序:

 void YourClickEvent(object sender, ItemClickEventArgs e)
 {
    //your codes here
 }

确保 GridViewIsItemClickEnabled设置为True全部设置!

于 2013-12-13T10:01:29.203 回答
0

如果我理解您的问题,那么这就是我在使用调试器环顾四周后所做的。这是一个 UWP 应用程序。按钮位于“MedView”GridView 的 DataTemplate 中的网格中。以下设置 ItemsSource:

List<ViewItemClass> lvil = new List<ViewItemClass>();
// create lvil
MedView.ItemsSource = lvil;

然后我为Button添加了一个 Click 事件处理程序,以下是它的代码:

Button b = sender as Button;
if (b == null)
    return;
Grid g = b.Parent as Grid;
if (g == null)
    return;
ViewItemClass lvi = g.DataContext as ViewItemClass;
if (lvi == null)
    return;
// use the item
于 2017-04-25T20:17:26.353 回答