Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Xamarin.Forms将IsEnable设置为true不起作用

Xamarin.Forms将IsEnable设置为true不起作用
EN

Stack Overflow用户
提问于 2019-12-17 18:36:22
回答 1查看 85关注 0票数 0

我正在使用Xamarin.Forms,我尝试使用禁用按钮,然后在按钮操作完成时启用它,当我禁用它时,该按钮实际上会变为禁用状态,但当我启用它时,它仍然被禁用,我做错了什么?下面是我的完整方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
private void OnCameraScan(object sender, EventArgs e)
{
    ScanLicence.IsEnabled = false;

    var barcodeScanView = new ZXing.Net.Mobile.Forms.ZXingScannerView
    {
        HeightRequest = 200
    };

    ScannerWrapper.HeightRequest = 200;
    ScannerWrapper.IsVisible = true;


    var options = new MobileBarcodeScanningOptions
    {
        TryHarder = true,
        CameraResolutionSelector = HandleCameraResolutionSelectorDelegate,
        PossibleFormats = new List<BarcodeFormat> { BarcodeFormat.PDF_417 },
    };

    barcodeScanView.OnScanResult += (result) =>
    {
        barcodeScanView.IsScanning = false;

        Console.WriteLine(result);

        var data = result.Text.Split('\n');

        foreach (var line in data)
        {

            if (line.Length > 3)
            {
                var code = line.Substring(0, 3);
                var value = line.Substring(3);

                Xamarin.Forms.Device.BeginInvokeOnMainThread(() =>
                {
                    switch (code)
                    {
                        case "DCT":
                            userClass.Customer_Name = value.Trim();
                            Customer_Name.Text = value.Trim();
                            break;
                        case "DCS":
                            userClass.Customer_LName = value.Trim();
                            Customer_LName.Text = value.Trim();
                            break;
                        case "DAI":
                            userClass.City = value.Trim();
                            City.Text = value.Trim();
                            break;
                        case "DAG":
                            userClass.Address1 = value.Trim();
                            Address1.Text = value.Trim();
                            break;
                        case "DAK":
                            userClass.Zip = value.Trim();
                            Zip.Text = value.Trim();
                            break;
                    }

                });


            }
        }

        ScanLicence.IsEnabled = true;


    };

    barcodeScanView.Options = options;
    barcodeScanView.IsScanning = true;

    ScannerWrapper.Children.Add(barcodeScanView);

}

有问题的按钮是ScanLicence

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<Button x:Name="ScanLicence" Text="Scan Licence" Clicked="OnCameraScan" Style="{StaticResource ButtonStyle}" WidthRequest="50" />

这是针对iOS应用程序的。

EN

回答 1

Stack Overflow用户

发布于 2019-12-18 23:44:47

您可以尝试将调用事件的对象强制转换为"Button“,然后禁用它。在你的代码的末尾,你可能会得到类似这样的东西:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// Safe casting to Button instance.
Button button = sender as Button;

// Make sure the cast didn't return a null value
if(button == null) return;

// Set enable to true
button.IsEnabled = true; // You can also use button.IsEnabled = !button.IsEnabled 

确保你没有任何类型的按钮绑定,它可能会忽略后面代码中的属性赋值。

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

https://stackoverflow.com/questions/59380199

复制
相关文章
选择篇(094)-哪个选项是将hasName设置为true的方法,前提是不能将true作为参数传递?
使用逻辑非运算符!,将返回一个布尔值,使用!! name,我们可以确定name的值是真的还是假的。如果name是真实的,那么!name返回false。 !false返回true。
齐丶先丶森
2022/12/05
2.1K0
ReturnSingleDatabase为True报错
出现这个错误是因为Excel在最初发布的2016版本上加入了更新,而流传的破解包都是最初发布的版本,但好在即使是破解版本我们依然可以更新
但老师
2022/03/22
3570
ReturnSingleDatabase为True报错
将 Vim 设置为 Rust IDE
Rust 语言旨在以 C++ 开发人员熟悉的方式实现具有安全并发性和高内存性能的系统编程。它也是 Stack Overflow 的 2019 年开发人员调查中最受欢迎的编程语言之一。
用户8639654
2021/09/15
1.8K0
RocketMQ实战:生产环境中,autoCreateTopicEnable为什么不能设置为true
很多网友会问,为什么明明集群中有多台Broker服务器,autoCreateTopicEnable设置为true,表示开启Topic自动创建,但新创建的Topic的路由信息只包含在其中一台Broker服务器上,这是为什么呢?
丁威
2019/06/15
3.2K1
go: kafka 将group设置为最新
有时,在确保group当前没有consumer的情况下,可以将这个group的偏移设置成最新,以保证下次启动时,group能从最新的消息消费。 代码:
超级大猪
2019/11/21
2.1K0
FeignClient 设置 fallback不起作用
StringCloud FeignClient 设置 fallback不起作用 今天在配置feign中是用hystrix的时候,FeignClient 中的 fallback不起任何作用,本来以为是 不支持这个属性了,打开源码一看,还提供这个fallback属性,后来翻阅各中资料,才发现是没有打开feign对hustrix的支持。下面是解决方案: 在application.yml中加入如下配置就可以了 feign: hystrix: enabled: true
码农笔录
2018/06/29
3.5K0
springboot设置时区不起作用_docker设置时区
此时数据库时区、容器时区、springboot时区都是CST,输出的时间还是可能差8小时,这因为Date进行json的时候还存一个时区,而springboot默认json工具是jackson,采用的是UTC时区。需要一下配置。注意:如果项目WebMvcConfig采用的是继承WebMvcConfigurationSupport,而不是实现WebMvcConfigurer接口的话,下面的配置会不生效。
全栈程序员站长
2022/11/09
2.7K0
springboot设置时区不起作用_docker设置时区
怎样将Anaconda设置为国内的镜像
“ Anaconda是世界上最流行的数据分析平台(它们官网自己吹的nb),如果把镜像改为国内的可以节省很多时间。”
讲编程的高老师
2020/08/14
7.4K1
如何将Eclipse设置为中文版[通俗易懂]
我们知道Eclipse一个开放源代码的、基于Java的可扩展开发平台,不管学习还是工作都是一款不错的集成开发环境(IDE),但是对于一些初学者看到Eclipse上满满的英文字母可能会感到无从下手,汉化后可能还好点。
全栈程序员站长
2022/08/20
4.1K0
如何将Eclipse设置为中文版[通俗易懂]
如何将EasyCVR通道设置为默认在线?
EasyCVR平台具有强大的数据接入、处理及分发能力,可支持海量视频的轻量化接入与汇聚管理。平台可支持多协议、多类型设备接入,包括:国标GB28181、RTMP、RTSP/Onvif、海康Ehome、海康SDK、大华SDK、宇视SDK等。
TSINGSEE青犀视频
2023/05/19
1.1K0
window下将Mongodb服务设置为开机自启
D:\mongodb 为mongodb安装根目录 在D:\mongodb\data下新建文件夹log(存放日志文件)并且在里面新建文件mongodb.log 在D:\mongodb中新建文件mongo.config,用记事本打开并在mongo.config中输入 dbpath=D:\mongodb\data logpath=D:\mongodb\log\mongo.log 使用管理员在D:\mongodb\bin运行 mongod --config D:\mongodb\m
拿我格子衫来
2022/01/24
1.6K1
(四) 如何将socket设置为非阻塞模式
1. windows平台上无论利用socket()函数还是WSASocket()函数创建的socket都是阻塞模式的: SOCKET WSAAPI socket( _In_ int af, _In_ int type, _In_ int protocol ); SOCKET WSASocket( _In_ int af, _In_ int type, _In_ int
范蠡
2018/04/04
4.6K0
如何将MySQL GR 设置为多主模式
在MySQL 5.7.17版本中发布的MySQL Group Replication(后文简称为MGR)被很多人称为MySQL复制方案的正规军,可以一举取代现在的MySQL Replication,Semisynchronous replication,甚至是可以取代之前最成功的MySQL集群方案Galera。 MGR有两种模式,一种是Single-Primary,一种是Multi-Primary,单主或者多主。 在前一种模式Single-Primary中,无论集群中有多少个节点,只有一个节点允许写入,其它
数据和云
2018/03/07
3.9K0
如何将MySQL GR 设置为多主模式
如何将U盘设置为启动盘
1.首先我们将封装好系统的启动u盘插入USB口中,启动电脑.。 2.当显示屏闪过第一个开机画面的时候,我们迅速连续按下键盘上的快捷启动热键,联想为F12,其他品牌按下表自行查询快捷启动热键或联系电脑品牌客服询问。
雾海梦曦
2022/11/12
3.7K0
如何将U盘设置为启动盘
为啥PHP in_array(0,['a', 'b', 'c']) 返回为true?
但是,直观上看, 0并没有包含在['a', 'b', 'c']数组中,也不会等于'abc'这个字符串。那怎么解释上述的返回结果呢?
架构精进之路
2020/08/17
1.6K0
ReturnSingleDatabase为True报错的解决办法
出现这个错误是因为Excel在最初发布的2016版本上加入了**更新**,而流传的破解包都是最初发布的版本,但好在即使是破解版本我们依然可以更新
但老师
2020/08/02
5930
ReturnSingleDatabase为True报错的解决办法
CentOS7下将Nexus设置为系统服务 原
修改脚本第14行:INSTALL4J_JAVA_HOME_OVERRIDE=/home/admin123/jdk1.8.0_152 否则,可能会出现以下错误: 
拓荒者
2019/03/11
2K0
CentOS7下将Nexus设置为系统服务
                                                                            原
ArcMap将栅格0值设置为NoData值的方法
  本文介绍在ArcMap软件中,将栅格图层中的0值或其他指定数值作为NoData值的方法。
疯狂学习GIS
2023/06/26
5850
ArcMap将栅格0值设置为NoData值的方法
将nginx设置为系统service==》service nginx start 命令可用
源码编译的一个缺陷是没法将安装好的应用设置为系统的service, 即无法使用 service 服务名 start | stop | restart 等命令统一操作。
青山师
2023/05/05
8680
将nginx设置为系统service==》service nginx start 命令可用
asp.net页面的AutoEventWireup=”true”属性设置
我们进行asp.net Web开发时,我们会习惯性的在后台的Page_Load()方法中通过IsPostBack属性的判断加载数据。那么,问题来了,你是如何知道页面加载的时候会执行Page_Load()这个方法呢?你在后台通过委托绑定了?微软通过某些方式替我们处理了?今天我们的就以此为切入点进行进一步讨论。
全栈程序员站长
2022/08/24
1.8K0
asp.net页面的AutoEventWireup=”true”属性设置

相似问题

无法将RibbonTextBox isEnable设置为False

23

将NSTextField.isSelectable设置为true不起作用

11

将ToolStripMenuItem.Visible设置为true不起作用

24

将-XdisableCastChecking设置为true

10

IsEnable绑定不起作用

30
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

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