c# - 在图像上添加点击事件
问题描述
我想添加一个可点击的事件,它转到特定的查询操作
示例:我有这 3 个列表图像
当我单击该列表之一时如何添加操作,它转到我选择的 id 并执行某些
操作 Mydb 示例数据库
查询
select * from library where id_movie = (the one that i clicked)
Xaml
<ItemsControl ItemsSource="{Binding Path=Library}" Margin="0,0,2,0">
<ItemsControl.ItemTemplate>
<DataTemplate DataType="viewModels:Card">
<UniformGrid Rows="1" Columns="1">
<StackPanel Orientation="Horizontal" Width="100" Height="150" Margin="10,25,0,0" >
<Image Width="100" Source="{Binding Path=cover}"/>
</StackPanel>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Margin="10,0,0,0">
<Label Content="{Binding Path=title}"/>
</StackPanel>
</UniformGrid>
</DataTemplate>
</ItemsControl.ItemTemplate>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
我的课
public class VModel
{
public VModel()
{
DataTable dt = new DataTable();
DataSet ds = new DataSet();
using (MySqlConnection connection = new MySqlConnection("SERVER=localhost;" + "DATABASE=library;" + "UID=root;" + "PASSWORD=;"))
{
MySqlDataAdapter adapter = new MySqlDataAdapter();
adapter.SelectCommand = new MySqlCommand("Select * from movie_list", connection);
adapter.Fill(dt);
}
Library = dt.DefaultView;
}
public DataView Library { get; private set; }
}
解决方案
我想这就是你要找的。每个项目都是一个按钮,其中包含一个图像和一个标签。单击按钮调用带有参数的命令(在窗口的 DataContext 上)。
<ItemsControl.ItemTemplate>
<DataTemplate DataType="viewModels:Card">
<Button Command="{Binding DataContext.QueryCommand, RelativeSource={RelativeSource FindAncestor, AncestorType=Window}}"
CommandParameter="{Binding Path=id}">
<StackPanel>
<Image Width="100" Source="{Binding Path=cover}"/>
<Label Content="{Binding Path=title}" HorizontalContentAlignment="Center"/>
<StackPanel>
</Button>
</DataTemplate>
</ItemsControl.ItemTemplate>
推荐阅读
- php - 在 Laravel eloquent 中使用日期排序记录
- continuous-integration - Gitlab runner CI/CD 不签出和拉最后一次提交
- python - python代理脚本有一些问题
- heroku - 发布脚本失败并显示“/bin/sh: 1: ./release-tasks.sh: Permission denied”
- javascript - 如何在窗口滚动时向活动 div 添加动画?
- android - 如何在不更改整个列表的情况下更新项目值?
- javascript - 拦截某个请求并得到它的响应(puppeteer)
- python - 自动运行 Jupyter 笔记本
- java - 无法在 Java 中运行 Palindrome 程序
- react-native - 我如何在原生反应中使用 aws amplify cognito?