我有一个gridView ıt有一个Itemptemplate(文本块,图像)和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}"/>
如何在项目模板中使用按钮事件
答案 0 :(得分:0)
在GridView上,您可以指定属性ItemClick="YourClickEvent"
,如:
<GridView
x:Name="itemGridView"
IsItemClickEnabled="True"
ItemClick="ItemView_ItemClick"></GridView>
并在您的.cs文件中包含事件处理程序:
void YourClickEvent(object sender, ItemClickEventArgs e)
{
//your codes here
}
确保GridView IsItemClickEnabled
设置为True
全部设置!
答案 1 :(得分:0)
如果我理解你的问题,那么这就是我在使用调试器环顾四周后所做的。这是一个UWP应用程序。 Button位于“MedView”GridView中DataTemplate的Grid中。以下设置ItemsSource:
List<ViewItemClass> lvil = new List<ViewItemClass>();
// create lvil
MedView.ItemsSource = lvil;
然后我为按钮添加了一个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