首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >将参数添加到Button单击事件

将参数添加到Button单击事件
EN

Stack Overflow用户
提问于 2010-01-05 06:12:59
回答 3查看 104K关注 0票数 65

我有这样一个wpf按钮:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<Button Click="button1_Click" Height="23" Margin="0,0,5,0" Name="button1" Width="75">Initiate</Button>

我希望将作为参数传递的{Binding Code}传递给button1_click处理程序。

我该怎么做?

免责声明: WPF非常新

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-01-05 06:18:44

简单解决方案:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<Button Tag="{Binding Code}" ...>

在处理程序中,将sender对象强制转换为Button并访问Tag属性:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var myValue = ((Button)sender).Tag;

更优雅的解决方案是使用WPF的命令模式:为按钮执行的功能创建一个命令,将命令绑定到button的Command属性,并将CommandParameter绑定到您的值。

票数 146
EN

Stack Overflow用户

发布于 2012-09-28 01:44:12

我不太喜欢“标签”所以也许

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<Button Click="button1_Click" myParam="parameter1" Height="23" Margin="0,0,5,0" Name="button1" Width="75">Initiate</Button>

然后通过属性访问。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 void button1_Click(object sender, RoutedEventArgs e)
 {
    var button = sender as Button;
    var theValue = button.Attributes["myParam"].ToString()
 }
票数 18
EN

Stack Overflow用户

发布于 2018-06-29 08:25:30

使用Xaml和DataContext

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:local="clr-namespace:DataAndCloudServices"
             x:Class="DataAndCloudServices.MainPage" >

    <StackLayout>
        <!-- Command Implemented In Code Behing -->
        <Button Text="Consuming Web Services Samples" 
                Command="{Binding NavigateCommand}" 
                CommandParameter="{x:Type local:YourPageTypeHere}" >

        </Button>
    </StackLayout>
</ContentPage>

这个代码示例使用页面类型作为参数导航到另一个页面,您需要在这里创建"YourPageTypeHere“和引用页。

然后在后面实现代码。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
using System;
using System.Windows.Input;
using Xamarin.Forms;

namespace DataAndCloudServices
{
    public partial class MainPage : ContentPage
    {
        public MainPage()
        {
            InitializeComponent();

            NavigateCommand = new Command<Type>(
              async (Type pageType) =>
              {
                  Page page = (Page)Activator.CreateInstance(pageType);
                  await Navigation.PushAsync(page);
              });

            this.BindingContext = this;
        }
        public ICommand NavigateCommand { private set; get; }
    }
}

同样,在应用程序类中,需要一个NavigationPage实例在MainPage中导航(对于本例来说)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public App ()
{
    InitializeComponent();

    MainPage = new NavigationPage(new MainPage());
}

它适用于xamarin表单,但对于WPF项目则类似。

命令可以更改为for WPF和Xamarin:"https://stackoverflow.com/a/47887715/8210755“。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2006507

复制
相关文章
Android Button 单击事件
方法一:在XML文件中指定 单击事件函数 <Button             android:id="@+id/button1"             android:layout_width="120dip"             android:layout_height="wrap_content"             android:layout_alignParentLeft="true"             android:layout_below="@+id/textView1
磊哥
2018/05/08
1.7K0
weex-08-单击事件
本节任务 学会组件添加单击事件 标准格式 <text v-on:click="方法名称">点我啊</text> 省略格式 <text @click="方法名称">点我啊</text> 下面我们创建
酷走天涯
2018/09/14
1.7K0
weex-08-单击事件
双击事件与单击事件的那些事
合情合理,双击事件也是两次点击事件,所以同时会触发单击事件click和双击事件dblclick。但是需求是单击和双击不同的处理,所以双击的时候不应该触发单击事件。
赤蓝紫
2023/03/16
3.8K0
双击事件与单击事件的那些事
HarmonyOS实战—实现单击事件流程
1. 什么是事件? 事件就是可以被识别的操作 。就是可以被文本、按钮、图片等组件识别的操作。 常见的事件有:单击、双击、长按、还有触摸事件 。 可以给文本、按钮等添加不同的事件。比如添加了单击事件之后
兮动人
2021/08/20
1.5K0
JavaScript 技巧篇-js增加延迟时间解决单击双击事件冲突,双击事件触发单击事件
js 的单双击事件同时存在会有一个问题:双击事件会同时触发单击事件,两个事件存在冲突。 我们加一个延迟时间就能很好的解决这个问题。
小蓝枣
2020/09/23
6.1K0
jsp button onclick事件汇总
<input onclick="document.all.WebBrowser.ExecWB(1,1)" type="button" value="打开" name="Button1"> <input onclick="document.all.WebBrowser.ExecWB(4,1)" type="button" value="另存为" name="Button2"> <input onclick="document.all.WebBrowser.ExecWB(10,1)" type="button"
week
2018/08/27
2.2K0
jQuery 双击事件(dblclick)时,不触发单击事件(click)
在jQuery的事件绑定中,执行双击事件(dblclick)时能触发两次单击事件(click)。即一个标签元素(如div等),如果元素同时绑定了单击事件(click)和双击事件(dblclick),那么执行单击事件(click)时,不会触发双击事件(dblclick), 执行双击事件(dblclick)时却会触发两次单击事件(click)。 先看一下点击事件的执行顺序:
飞奔去旅行
2019/06/13
5.4K0
HarmonyOS实战—单击事件的四种写法
单击事件的四种写法 [在这里插入图片描述] 1. 自己编写实现类 编写实现类(MyListener)去实现 Component.ClickedListener 接口 在类里面重新下 onClick 方
兮动人
2021/08/20
1.1K0
VC中CTreeContrl实现响应单击或双击事件
首先需要重写CtreeContrl,然后在.h中添加 afx_msg void OnDblClkTree(NMHDR* pNMHDR, LRESULT* pResult);//双击事件 afx_msg void OnClkTree(NMHDR* pNMHDR, LRESULT* pResult);//单击事件 .h文件 #pragma once ///////////////////////////////////////////////////////////////////////////// //
acoolgiser
2019/01/17
1.8K0
ztree实现根节点单击事件,显示节点信息
这段时间在维护公司的项目,去年做的项目里面有ztree树的例子,想起之前还没有开始写博客,一些知识点也无从找起,要新加一个右击节点事件,折腾了半天,其中也包含了一些知识点,稍稍做了一些demo。
王小婷
2018/09/26
7.2K0
ztree实现根节点单击事件,显示节点信息
js(javascript) onclick与ondblclick 单击与双击事件
js 单击时间为:onclick 双击事件为:ondblclick 如下是一个演示,想必很清楚,复制代码运行一下就懂了:
1_bit
2020/10/23
7.1K0
Android之按钮点击事件(单击、双击、长按等)
在布局文件中添加按钮点击事件 1、在xml文件中 为 Button 添加android:onclick属性
程思扬
2023/07/24
2.4K0
Android listView中的button点击事件[通俗易懂]
如果listView中的item有button控件,那么如何获取listView中的button控件?又如何在点击button时定位当前的item?
全栈程序员站长
2022/09/09
2.3K0
将Sublime添加到鼠标右键
2、找到 HKEY_CLASSES_ROOT/*/shell 目录,在此目录下操作。
新码农
2020/03/05
3K0
UGUI系列-Button绑定事件的多种实现
今天分享一下UGUI Button绑定事件的几种方法,以及优点和缺点 有哪些地方不懂的小伙伴也可以联系我的QQ,我的QQ就在博客链接中隐藏着,看能不能找到咯
恬静的小魔龙
2022/08/07
1.2K0
UGUI系列-Button绑定事件的多种实现
IOS5开发-UIScrollView添加单击事件的方法
UIScrollView在开发中是一个非常常用的控件,UIScrollView具有水平、垂直滚动和缩放效果。但是尽然没有响应单击事件这个事件。而这个事件在日常的交互中是非常需要的。比如当用于单击或轻触图片的某个位置时,给于一些交互性提示。 下面我将用例子说明一下如何给UIScrollView添加一个单击的响应。 代码如下: 添加一个自定义的UIScrollView,命名:UITouchScrollView UITouchScrollView.h代码如下 #import <Foundation/Foundat
阿新
2018/04/12
1.9K0
Layui前端框架中的Button添加Click事件
  button点击事件有一个type属性,默认type是submit,有时候使用默认会出现页面自动刷新问题。
全栈测试开发日记
2023/02/02
5.7K0
将Windows Terminal添加到鼠标右键
导读 非常实用的小技巧。 下载Windows Terminal图标,右键另存为。 [WindowsTerminal图标] 保存至'C:\Users\Administrator\AppData\Local\Terminal\Terminal.ico'。 win+R输入'regedit',打开注册表。 找到'HKEY_CLASSES_ROOT\Directory\Background\shell'目录,在此目录下操作。 新建项'wt',双击右边'默认',更改右键文字显示内容'Windows Terminal H
新码农
2020/08/05
3.6K0
将Windows Terminal添加到鼠标右键
dart - 将 orElse 函数添加到 firstWhere 方法
我正在尝试将 onElse 函数添加到 iterator.firstWhere 方法,但我无法获得正确的语法。 我试过类似的东西
徐建国
2021/08/31
1.6K0
点击加载更多

相似问题

将参数传递给Button单击事件函数

20

将jquery单击事件添加到asp:button阻止按钮在事件背后输入代码?

45

将文本框作为参数从Xaml传递到单击Button事件

20

使用控件模板单击Button事件

13

将单击事件添加到键事件

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文