2017-12-04 29 views
0

.NET Core 및 Xamarin 사용 Windows 및 macOS 환경에서 실행되는 응용 프로그램을 작성하는 것에 대해 생각했습니다.Xamarin을 사용하여 트레이 응용 프로그램 만들기?

.NET 핵심 부분은 모든 백엔드 항목에 사용되며 REST API로서의 기능을 제공합니다. 그러나 .NET Core에는 네이티브 UI 응용 프로그램 (WPF, ...)을 빌드 할 수있는 지원이 없으므로 트레이 응용 프로그램을 빌드 할 필요가 없습니다.

그래서 나는 이것을 위해 Xamarin을 사용하려고 생각했다. 그러나 이것이 가능한지 알아낼 수는 없습니다. 시작하는 방법에 대한 단서도 찾을 수 없습니다. 그래서, ++

  • 모노를하지만 밖으로 그래서 그 VS2017 어떤 통합이없는 ...
  • QT를,하지만 C에서 곁에있어 : ​​

    일부 대안은 아직 더 조사하지했습니다 처음에 .NET 코어를 사용하여 귀찮게 이유는 Windows의

  • Electron.js

답변

1

, 012에게 ... 다음뿐만 아니라

  • 자바를하지만은 3.0까지 WPF를 공식적으로 지원하지 않습니다.

    재 : https://blog.xamarin.com/glimpse-future-xamarin-forms-3-0/ 트레이 응용 프로그램의 측면에서

    , 즉 네이티브 Windows 코드이고 Xamarin.Forms UI 코드의 일부가 될 수 없습니다,하지만/보여 앱의 UI (assumably 자 마린을 숨겨 기본 Windows 코드 .Forms based)

    Xamarin.FormsXamarin.Mac을 통해 지원되며 현재 "미리보기"릴리스에 있습니다.

    macOS의 도구 트레이 응용 프로그램에 해당하는 한 Xamarin.Mac에서 시스템 상태 표시 줄에 항목 (아이콘 및/또는 텍스트 기반)을 만들 수 있습니다.

    일반적으로 이것은 NSApplicationDelegate.DidFinishLaunching에서 수행하고 쉽다 :이 예에서

    statusItem = NSStatusBar.SystemStatusBar.CreateStatusItem(NSStatusItemLength.Variable); 
    statusItem.Button.Image = new NSImage("moviemadness_icon_dark.png") 
    { 
        Template = true 
    }; 
    statusItem.Button.Action = new Selector("StatusItemButtonAction:"); 
    

    상태에서 아이콘/텍스트 탭 때마다의 StatusItemButtonAction 방법은 트리거되고 그것은 어느 경우 그 자체를 종료 당신은 동시에 컨트롤 키를 누르고 있었고, 그렇지 않은 경우 StatusBarPopOver을 실행하고, 내 경우에는 NSPopover을 구성하고 모바일 앱 서버 상태, 앱의 현재 사용자, 앱 분석 등을 보여주는 Xamarin.FormsTabbedPage UI가 임베드 된 것을 보여줍니다. ...

    [Action("StatusItemButtonAction:")] 
    public void StatusItemButtonAction(NSStatusBarButton sender) 
    {          
        var currentEvent = NSApplication.SharedApplication.CurrentEvent; 
        if (currentEvent.ModifierFlags.HasFlag(NSEventModifierMask.AlternateKeyMask) || 
         currentEvent.ModifierFlags.HasFlag(NSEventModifierMask.ControlKeyMask)) 
         NSApplication.SharedApplication.Terminate(this); 
        else 
         StatusBarPopOver(); 
    }