【问题标题】:Set mouse cursor to "Wait" on macOS using C#使用 C# 在 macOS 上将鼠标光标设置为“等待”
【发布时间】:2022-06-15 12:13:19
【问题描述】:

我正在将一个应用程序从 WPF 移植到 AvaloniaUI/.Net 6 以便能够支持 macOS。

在 WPF 中,我使用此代码更改光标:

公共类 WaitCursor : IDisposable { 私有只读游标_previousCursor;

    public WaitCursor()
    {
        _previousCursor = Mouse.OverrideCursor;

        Mouse.OverrideCursor = Cursors.Wait;
    }

    public void Dispose()
    {
        Mouse.OverrideCursor = _previousCursor;
    }
}

我怎样才能让它在 macOS 上运行?

【问题讨论】:

    标签: .net-6.0 avaloniaui


    【解决方案1】:

    最初的问题是 AvaloniaUI GitHub 讨论板上的 also asked,那里有这个答案:

    public abstract class BaseWindow<T> : ReactiveWindow<T> where T : ViewModelBase
    {
        protected BaseWindow()
        {
            this.WhenActivated((CompositeDisposable disposable) =>
            {
                this.ViewModel.WhenAnyValue(x => x.IsBusy)
                    .Do(UpdateCursor)
                    .Subscribe()
                    .DisposeWith(disposable);
            });
        }
    
        private void UpdateCursor(bool show)
        {
            this.Cursor = show ? new Cursor(StandardCursorType.Wait) : Cursor.Default;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-06
      • 2018-04-08
      • 1970-01-01
      • 2013-09-22
      • 1970-01-01
      相关资源
      最近更新 更多