一整天,我都收到了这条非常明确的(不是讽刺)错误消息“值不能为空。参数名称:类型”我正在用头撞墙慢慢分解我的代码,直到我能找出问题的确切原因。经过冗长乏味的解构,我发现我的GestureRecognizers
部分有错误。问题是我不小心输入了 Command 来尝试传递参数而不是CommandParameter
.
我生成错误的原始代码如下所示。
<Label.GestureRecognizers>
<TapGestureRecognizer Tapped="Value_Tapped" Command="language" />
</Label.GestureRecognizers>
Run Code Online (Sandbox Code Playgroud)
更正后的代码是这样的:
<Label.GestureRecognizers>
<TapGestureRecognizer Tapped="Value_Tapped" CommandParameter="language" />
</Label.GestureRecognizers>
Run Code Online (Sandbox Code Playgroud)
我希望这会在将来对其他人有所帮助。
我正在创建一个可移植类库,这意味着我必须使用System.Net.Http.HttpClient来调用我的Web API.据我所知.挑战在于,对于我的通用Windows应用程序,我无法弄清楚如何忽略由于API服务器可以拥有自签名证书而返回的错误.任何建议将不胜感激.
更新:我无法导入任何证书,因为这将是在各种组织中的各种设备上运行的应用程序,并且让他们将自签名证书导入到运行该应用程序的每个设备上是不切实际的.
我已经查看了如何通过互联网上的SOAP表格swift调用Web服务的答案,并找到了一些答案.我试图实现我在这些答案中找到的代码,但不断获得http 400状态代码.我想弄清楚我做错了什么.
我已将问题简化为视图控制器中的几行代码,如下所示,当按下UI上的按钮时,将调用代码.我试图打电话的网络服务可以在http://www.cgsapi.com/CGSWebService.asmx找到.
(要查看WSDL文件,请将?wsdl附加到URL的末尾.)
import UIKit
class ViewController: UIViewController {
var is_SoapMessage: String = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:cgs=\"http://www.cgsapi.com/\"><soapenv:Header/><soapenv:Body><cgs:GetSystemStatus/></soapenv:Body></soapenv:Envelope>"
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func btnClicked(sender: AnyObject)
{
var is_URL: String = "http://www.cgsapi.com/CGSWebService.asmx"
var lobj_Request = NSMutableURLRequest(URL: NSURL(string: is_URL)!)
var session = NSURLSession.sharedSession()
var err: NSError?
lobj_Request.HTTPMethod = "POST"
lobj_Request.addValue("www.cgsapi.com", …
Run Code Online (Sandbox Code Playgroud) 我有一个ContentView,我在我的页面上用作共享代码.它包含导航链接等.在ContentView中,我试图访问我的App类中具有以下签名的方法:
public void ClearNavigationAndGoToPage(Page pobj_Page)
{
MainPage = new NavigationPage(pobj_Page);
}
Run Code Online (Sandbox Code Playgroud)
但是,当我在ContentView中使用以下代码行时
App.ClearNavigationAndGoToPage(new nearbyplaces());
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息:
非静态字段,方法或属性'App.ClearNavigationAndGoToPage(Page)'需要对象引用
我可以从ContentPages访问该方法而不是ContentViews.有什么建议?
我正在使用BoxView完成我的应用程序中的下划线。我有几个非常短的标签-诸如“是”或“否”之类的文本。这是其中一个带有BoxView的标签的XAML下划线:
<StackLayout Orientation="Vertical" Grid.Row="5" Grid.Column="1" Margin="0,4,0,4" HorizontalOptions="Start" BackgroundColor="Purple" MinimumWidthRequest="1">
<Label x:Name="txtUseMetric" TextColor="Blue" FontSize="Small" Text="{Binding UseMetricText}" BackgroundColor="Yellow">
<Label.GestureRecognizers>
<TapGestureRecognizer Tapped="Value_Tapped" CommandParameter="usemetric" />
</Label.GestureRecognizers>
</Label>
<BoxView BackgroundColor="Green" HeightRequest="1" MinimumWidthRequest="1" />
</StackLayout>
Run Code Online (Sandbox Code Playgroud)
我的问题是BoxView的宽度始终超出我尝试覆盖App.Xaml文件中的MinWidthRequest的文本,如下所示:
<Style TargetType="BoxView">
<Setter Property="MinimumWidthRequest" Value="3" />
</Style>
Run Code Online (Sandbox Code Playgroud)
但这没有效果。我提供了屏幕截图供您查看。
仅供参考-黄色是标签的宽度。您不会看到任何紫色(StackLayout的背景色),因为StackLayout和Label的宽度相同。第二个屏幕快照显示了如果删除BoxView,屏幕的外观-即Label和StackLayout的大小正确。
对于如何解决这个问题,有任何的建议吗?
我一直在尝试找到一种创建永不过期的FaceBook页面访问令牌的方法。我看到了一个选项,您可以在其中提供代替令牌的AppID | AppSecret,但是这要求您提交应用程序以供批准,facebook似乎不理解使用令牌的其他应用程序的概念。无论如何,请参见下面的答案,以了解我如何找到一种解决方法。
c# ×2
ios ×1
label ×1
null ×1
self-signed ×1
soap ×1
stacklayout ×1
swift ×1
underline ×1
uwp ×1
web-services ×1
width ×1