gpt4 book ai didi

c# - 基本 Xamarin.iOS 屏幕操作

转载 作者:行者123 更新时间:2023-11-29 06:03:00 24 4
gpt4 key购买 nike

我是 Xamarin.iOS 编程新手,如果这是显而易见的,请原谅我。

我有一个在主应用程序中运行的计时器。除此之外,我需要它来更新 Main.storyboard 中的字段

在 Main.cs 中:

public static void StartTimer()
{
DateTime startTime;
startTime = DateTime.UtcNow;
var dispatcherTimer = new System.Threading.Timer(DispatcherTimer_Tick, startTime, 0, 100);
}

public static void DispatcherTimer_Tick(object state)
{
GetTime();
ViewController.SetFieldsTick(Vars.dcounter));
}

在 ViewController 中,我有一个更新屏幕的例程:

public static  void SetFieldsTick(int tick)
{
switch (tick)
{
case 0: // Display the Time data
{
UTC_Data.Text = Vars.DateStrZ;
}
}
}

如果我将 SetFieldsTick 声明为静态,那么我会收到消息

An object reference is required for the non-static field …

对于我尝试更新的每个标签。

如果我不将其声明为静态,那么它可以引用标签,但在 Main.cs 文件中调用它时会收到相同的错误消息。

关于如何解决这个问题有什么建议吗?

谢谢,丹

最佳答案

我猜 ViewController 不是静态的,这就是为什么你不能像这样调用它的函数,无论如何,您的代码有点难以理解,如果您想构建一个带有时钟或只是显示时间的应用程序,请看一下这个 Xamarin.Forms 示例:

https://learn.microsoft.com/en-us/xamarin/xamarin-forms/xaml/xaml-basics/data-bindings-to-mvvm

感谢 DataBinding,您无需手动设置 UI,您应该尝试一下。

关于c# - 基本 Xamarin.iOS 屏幕操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51372663/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com