计时器不定期更新并“跳过”一秒(Silverlight 4 DispatcherTimer)

2023-12-27

对于以下问题,我希望得到一些帮助 - 您可以在我的网站上看到这个问题现场扑克百叶窗计时器 http://www.pokerdiy.com/poker-blinds-timer.aspx:

主时钟(盲定时器倒计时)从 20:00 开始,然后跳转到 19:58。关卡计时器(在屏幕顶部计数) - 同步启动,因此会延迟一秒。

这是我的代码:XAML:

TextBlock Text="{Binding TimeLeftInCurrentBlindFormatted}"

和我的锦标赛课程:

    private DispatcherTimer timerBlind;
    private DateTime? blindTimeStarted = null;

    public DateTime? BlindTimeStarted
    {
            get
            {
                return blindTimeStarted;
            }
            set
            {
                if (blindTimeStarted != value)
                {
                    blindTimeStarted = value;
                    OnPropertyChanged("BlindTimeStarted");
                    OnPropertyChanged("TimeLeftInCurrentBlind");
                    OnPropertyChanged("TimeLeftInCurrentBlindFormatted");
                    OnPropertyChanged("TimeRunningForCurrentBlind");
                    OnPropertyChanged("TimeRunningForCurrentBlindFormatted");
                }
            }
        }


            public TimeSpan TimeLeftInCurrentBlind
            {
                get
                {
                     return BlindTimeStarted == null ? blindset.CurrentBlind.BlindDuration : BlindTimeStarted.Value.Add(blindset.CurrentBlind.BlindDuration).Subtract(DateTime.UtcNow.Subtract(TotalTimePausedForCurrentBlind)); 
                }
            }
            public string TimeLeftInCurrentBlindFormatted
            {
                get { return Utils.FormatTime(TimeLeftInCurrentBlind); }
            }



            void Timer_Tick(object sender, EventArgs e)
            {
                if (IsTimerBlindRunning)
                {
                    OnPropertyChanged("TimeRunningForCurrentBlindFormatted");
                    OnPropertyChanged("TimeLeftInCurrentBlindFormatted");
                }
            }
        }

当通过 UI 启动计时器时,将设置日期时间:

TimeStarted = DateTime.UtcNow;

我认为这与以下事实有关:Tick 不一定正好是一秒,并且 UI 不知何故滞后并跳过一秒,但两个计时器在 Tick 事件中同时更新(TimeRunningForCurrentBlindFormatted (这是顶部)经过的时间)和 TimeLeftInCurrentBlindFormatted)。

在我的开发系统上,计时器从 20:00 到 19:59,然后到 19:57。


不要每秒触发 DispatcherTimer。更频繁地触发......也许每 100 毫秒一次。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计时器不定期更新并“跳过”一秒(Silverlight 4 DispatcherTimer) 的相关文章

  • 带有图像或路径的自定义滑块

    我的 WP7 应用程序中有一个滑块 我想重新设计它的样式 我的默认模板有问题 我做了类似的事情 但我无法将拇指 绑定 到该值
  • DataGridTemplateColumn 内的绑定命令

    我使用命令将视图 包括 XAML 附加到我的 ViewModel 当单击 DataGrid 行上的按钮时 我需要调用命令 我正在为此使用行为 常规命令也有同样的问题 当我单击 DataGrid 上的按钮时 我的命令不会被触发 为了说明问题
  • 如果 TimerTask 的执行时间超过指定的时间间隔,会发生什么情况?

    使用时 Timer schedule TimerTask task long delay long period 即固定延迟执行 如果指定的情况会发生什么TimerTask s run 方法花费的时间长于period去完成 两个并发有可能吗
  • .Net 中的计时器和循环准确吗?

    在开发一个程序时 计算555定时器IC产生的脉冲的频率和脉冲宽度 通过PC并行端口传到PC 我注意到每次运行代码时它都会显示不同的值 因此我开始测试循环和计时器的准确性 我运行了以下代码 发现它们不准确 我可能是错的 如果我错了 请纠正我
  • 从 Silverlight OOB 访问注册表

    我可以访问吗Registry from Silverlight Out Of Browser 我只想搜索 读取键并获取键值对 这可能吗 或者 有没有其他方法 例如运行powershell script 或启动其他一些 exe 来了解这些值
  • 使用 wcf ria 时有没有办法选择性地跳过 silverlight 字段验证?

    我有一个 可能很常见 的情况 我想重用同一个类来添加新实体并在我的 silverlight 应用程序 SL4 WCF RIA EF4 Linq to Entities 中编辑现有实体 添加新验证器时 我希望自定义验证器检查唯一性 如果不唯一
  • 数据库连接模拟失败

    我有一个 SL4 应用程序 它使用 WCF 与后端 SQL Server 2008 数据库进行通信 由于调用的存储过程需要数据库权限 其中一项 WCF 服务需要使用专用系统帐户连接到数据库 我尝试在服务代码中使用模拟来实现解决方案 例如 i
  • XML 序列化基类列表

    我有课A从类继承B 我有一个班级名单B其中包含A and B items List b myList new List b myList Add new A 当我尝试使用序列化此列表时XmlSerializable 抛出异常 如果我将列表定
  • WPF/Silverlight 面试问题? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 您希望某人在 WPF Silverlight 开发工作的面试中了解哪些类型的问题 入门级 强大的 NET 2 0背景并且愿意学习 解释一下依赖属
  • 使用 StrokeDashArray 均匀间隔的虚线

    我正在尝试创建一个像这里一样的扑克筹码 将 Expression Blend 4 用于 WP7 1 Silverlight 4 应用程序 我试图在芯片边缘创建六个白色 盒子 暂时忽略骰子图像和内部虚线 我的方法是两个创建两个椭圆 一个没有描
  • 如何从 silverlight 中的视图模型从一个视图导航到另一个视图?

    我有一个 ViewModel 和两个 View 如何从 ViewModel 导航到 View2 我在某处读到我们需要使用 PRISM 在 Silverlight 中从 ViewModel 打开多个视图 PRISM 有什么替代方案吗 理想情况
  • 如何在WP7 WebBrowser控件中注入Javascript?

    我可以通过此链接将 JavaScript 注入到 C Windows 窗体中的 WebBrowser 控件中 如何在WebBrowser控件中注入JavaScript https stackoverflow com questions 15
  • 更改选项卡时,文本框上的验证工具提示会变得孤立

    我在 TabControl 内的 TabItem 上有一个 TextBox 使用 INotifyDataError 基于更改的验证 当 TextBox 中存在错误并且您将注意力集中在 TextBox 上时 将显示验证工具提示 如果我导航到其
  • HashedWheelTimer 与 ScheduledThreadPoolExecutor 相比以获得更高的性能

    我正在考虑如果您需要在一台机器上的 jvm 内尽可能快地调度大量 非阻塞 任务 则应使用哪种计时器实现 我学过ScheduledThreadPoolExecutor and HashedWheelTimer来源 轮计时器一般文档 和以下是基
  • 时间:2019-03-17 标签:c#TimerStopConfusion

    我想通过单击按钮时更改文本颜色来将文本框文本设置为 闪烁 我可以让文本按照我想要的方式闪烁 但我希望它在闪烁几次后停止 我不知道如何在计时器触发几次后让它停止 这是我的代码 public Form1 InitializeComponent
  • 为什么在为 Silverlight 5 应用程序添加编码 UI 支持时 System.Core 无法加载?

    我遇到以下问题 尝试添加对为 Silverlight 5 应用程序创建编码 UI 测试的支持 MSDN 1 第一步是在 Silverlight 5 项目中引用程序集 Microsoft VisualStudio TestTools UITe
  • Linux中的定时器类

    我需要一个计时器来以相对较低的分辨率执行回调 在 Linux 中实现此类 C 计时器类的最佳方法是什么 有我可以使用的库吗 如果您在框架 Glib Qt Wx 内编写 那么您已经拥有一个具有定时回调功能的事件循环 我认为情况并非如此 如果您
  • ReactiveUI 和 Caliburn Micro 一起?

    我一直在使用 Caliburn Micro 作为我们的 MVVM 框架对新的 Silverlight 应用程序进行一些原型工作 团队总体上对此感到满意 为了解决对服务的请求限制的一些问题 有人建议我研究 ReactiveUI 的 React
  • 如何在 Silverlight 中使用 LINQ 创建 ObservableCollection

    在非 Silverlight 世界中 使用 LINQ 创建 ObservableCollection 很容易 这是因为 ObservableCollection 类具有接受任何 IEnumerable 或 List 的构造函数 然而Silv
  • 如何使用 NavigationService.Navigate 传递查询字符串变量?

    问候 搜索了这个 但没有运气 我正在尝试在我的 Silverlight 4 应用程序中传递查询字符串变量 然后检索它们 首先我尝试了这个 this NavigationService Navigate new Uri LoanProduct

随机推荐

  • Cakephp 翻译行为的默认行为不起作用

    谁能告诉我为什么当字段没有翻译时它会返回空 而不是默认翻译 我会感激所有的建议 不知道你想看我的代码的哪一部分 因为它都是直接来自 www book cake org 的 所以我粘贴一些代码 型号定义
  • 在 Linux 上安装 NPM

    我的目的是安装 angularjs 为此 我需要 gt npm 所以我想安装nodejs以获得 NPM 但我有这个错误 File configure line 16 in
  • Eclipse 上使用 Dataflow Runner 的 Apache Beam MinimalWordcount 示例

    我正在尝试在 Windows 上使用 Eclipse 中的 DataFlowRunner 运行 MinimalWordCount 示例 使用 MinimalWordCount gt 在 Eclipse 中运行作为 Java 应用程序 它与使
  • 使用 xclip 后 Tmux 中的键盘快捷键被停用

    我在 tmux conf 中使用以下配置从 xclip 来回复制文本 bind C c run tmux save buffer xclip i sel clipboard bind C v run tmux set buffer xcli
  • 消息控制器中未定义的方法“stringify_keys”

    当我尝试提交表单时 出现以下错误 当 1 个用户想要向另一个用户发送消息时 该表单就会显示 NoMethodError in MessagesController create undefined method stringify keys
  • 如何删除 Firestore 文档中的字段?

    如何删除 Cloud Firestore 中的文档字段 我正在使用下面的代码 但我不能 this db doc ProfileUser userId followersCount FollowersCount update currentU
  • 在 Web 上正确使用 SVG

    我想知道在 HTML 文档上使用 SVG 的最佳方法是什么 我读过一篇文章说 使用 SVG 图标比图标字体更好 即 fontawesome 等 以获得更好的性能并减少 HTTP 网络 调用 并提高搜索引擎优化 我知道如何使用 包含 SVG
  • 如何使用domains.google.com 验证我的自定义域

    如何使用验证我的自定义域domains google com如果 它不允许重复的密钥 并且 firebase 托管需要重复的密钥条目 并且 firebase 需要具有相同主机的 2 个文本条目 Google Domains 中的 DNS 记
  • UIPageControl 中的问题

    pageControl UIPageControl alloc initWithFrame CGRectMake 153 356 38 36 pageControl userInteractionEnabled YES pageContro
  • Google Maps SDK 中的自定义注释视图

    我创建了一个基于地图的 iOS 应用程序 其中我想使用 iOS 版 Google Maps SDK 而不是 Mapkit 我找到了文档 但没有找到与自定义注释视图相关的方法 任何人都可以为我提供解决方案创建自定义注释视图 信息窗口 以及如何
  • 在数学模式下将变量写为下标

    我正在尝试绘制一些数据 使用 for 循环来绘制分布 现在我想根据循环计数器将这些分布标记为数学符号中的下标 这就是我现在的处境 import matplotlib pyplot as plt import numpy as np impo
  • ASP.NET MVC 使用 UIHint 属性生成 DropDownList

    我想知道如何使用 UIHint 属性生成 DropDownList 我已经自定义了一些预定义属性 但我不知道如何继续生成 DropDownList 这是我对上一个的处理方式 我想以类似的方式使用它 public class CartProd
  • 使用 apache 检查请求中是否存在标头

    如何检查标头是否存在 我不想检查该值是否与 不同 我想使用以下方法检查它是否确实存在 重写条件 我怎样才能在 htaccess 文件中做到这一点 anhubhava 的回答很有用 但逻辑 颠倒了 它应该是 RewriteEngine On
  • Selenium 使用 javascript 获取元素的类属性

    我正在使用 Selenium 用 Ja vascript 编写测试自动化 尝试提取 DOM 元素的类属性对我来说不起作用 这是我的代码 var webdriver require selenium webdriver var driver
  • Java中的顶级类是什么?

    Java中的顶级类是什么 Java中顶级类的定义是什么 我知道这是一个基本问题 但我找不到这个问题的明确而简单的答案 它只是任何不是嵌套类的类 如果您的文件是 Foo java 并且您的类是 Foo 那么它是顶级类 in Foo java
  • iOS:popViewController 意外行为

    我一直在互联网上寻找解决方案 我什么也找不到 所以 我正在使用 UINavigationController 我将两个 UIViewController 推到上面 在第二个推送的 ViewController 中 我正在执行以下代码 voi
  • 在 iOS 6 中,UIViewController 是否可以支持比其父级更多的界面方向?

    iOS 6 中自动旋转的变化似乎让这变得异常困难 或者说不可能 他们似乎在推行这样的理念 子视图控制器不应覆盖其父视图控制器的自动旋转行为 这使得很难完成我想做的事情 我有一个必须纵向显示的视图控制器 它以模态方式推动另一个视图控制器 它是
  • 上下文切换死锁

    在 VS 2008 中调试我的程序时 我遇到了以下错误 CLR 在 60 秒内无法从 COM 上下文 0x34fc1a0 转换到 COM 上下文 0x34fc258 拥有目标上下文 单元的线程很可能执行非泵送等待或处理非常长时间运行的操作而
  • 将原子 int 向量转换或转换为 int 向量的有效方法

    我确实有一个整数向量 我想确保增量操作发生线程安全 所以我使用std vector
  • 计时器不定期更新并“跳过”一秒(Silverlight 4 DispatcherTimer)

    对于以下问题 我希望得到一些帮助 您可以在我的网站上看到这个问题现场扑克百叶窗计时器 http www pokerdiy com poker blinds timer aspx 主时钟 盲定时器倒计时 从 20 00 开始 然后跳转到 19