我在 ListView 中实现了一个 SwitchCell;我希望能够访问 SwitchCell 的属性:On 和 text。我希望能够获取和设置 SwitchCell 的 OnProperty 以从 xaml.cs 类中更改/读取 Switch 状态。当我运行代码时,我收到未处理的异常错误。我对 Xamarin 和 C# 都很陌生,因此任何解决问题的帮助/建议/示例都将不胜感激。异常发生在var selectedItem = ((SwitchCell)sender).BindingContext as Relays; 在 SwitchCell.xaml.cs 中。我的 Relay.cs 类如下:using System;using System.Collections.Generic;using System.Text;namespace Socket.Models{ public class Relays { public Boolean isOn { get; set; } // Set the state of the switch public string State { get; set; } // Get the state of the switch based on the isOn property public string Name { get; set; } // Set the name of the relay in the list } }我的 SwitchCell.xaml 如下: <?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="Socket.SwitchCell" Title="Relay Control Page"><ContentPage.Content> <StackLayout Padding="10,0,0,0"> <ListView x:Name="lstView" SelectionMode="None"> <ListView.ItemTemplate> <DataTemplate> <SwitchCell x:Name="Sw1" Text="{Binding Name}" On=" {Binding isOn, Mode=TwoWay}" OnChanged="SwitchCell_OnChanged_2"/> </DataTemplate> </ListView.ItemTemplate> </ListView> </StackLayout> </ContentPage.Content></ContentPage>这是我在 VS 2017 中遇到的错误:未处理的异常:System.InvalidCastException:指定的强制转换无效。发生了。我不确定这是否有用,但这是我从调用堆栈中得到的:位于 C:\Users\ryno\Desktop\Xamarin\Socket\Socket\Socket\SwitchCell.xaml.cs 的 Socket.SwitchCell.SwitchCell_OnChanged_2 中的 0x1:42,13。我不知道我做错了什么。任何帮助将不胜感激。谢谢。
- 2 回答
- 0 关注
- 490 浏览
添加回答
举报
0/150
提交
取消