public PageViewerCommandBar() { this.InitializeComponent(); _showSettings = new Subject <Unit>(); _scrollToTop = new Subject <Unit>(); _printPdf = new Subject <Unit>(); _edit = new Subject <Unit>(); _search = new Subject <Unit>(); _showHistory = new Subject <Unit>(); _toggleFullscreen = new Subject <Unit>(); _import = new Subject <Unit>(); _export = new Subject <Unit>(); _navigateToPage = new Subject <string>(); this.WhenActivated(disposable => { this.OneWayBind(ViewModel, vm => vm.DevOptsEnabled, view => view.DevOptBtn.Visibility) .DisposeWith(disposable); SettingsBtn.Events().Click .Select(x => Unit.Default) .Subscribe(x => { _showSettings.OnNext(x); }).DisposeWith(disposable); ToTopBtn.Events().Click .Select(x => Unit.Default) .Subscribe(x => { _scrollToTop.OnNext(x); }).DisposeWith(disposable); PdfBtn.Events().Click .Select(x => Unit.Default) .Subscribe(x => { _printPdf.OnNext(x); }).DisposeWith(disposable); SearchBtn.Events().Click .Select(x => Unit.Default) .Subscribe(x => { _search.OnNext(x); }).DisposeWith(disposable); HistoryBtn.Events().Click .Select(x => Unit.Default) .Subscribe(x => { _showHistory.OnNext(x); }).DisposeWith(disposable); FullscreenBtn.Events().Click .Select(x => Unit.Default) .Subscribe(x => { _toggleFullscreen.OnNext(x); }).DisposeWith(disposable); ImportBtn.Events().Click .Select(x => Unit.Default) .Subscribe(x => { _import.OnNext(x); }).DisposeWith(disposable); ExportBtn.Events().Click .Select(x => Unit.Default) .Subscribe(x => { _export.OnNext(x); }).DisposeWith(disposable); EditBtn.Events().Click .Select(_ => Unit.Default) .Subscribe(x => { _edit.OnNext(Unit.Default); }).DisposeWith(disposable); NewPageBtn.Events().Click .Select(_ => Unit.Default) .InvokeCommand(ViewModel.NewPageClick) .DisposeWith(disposable); DevOptBtn.Events().Click .Select(_ => Unit.Default) .InvokeCommand(ViewModel.DevOptionsClick) .DisposeWith(disposable); BindTextResources(disposable); ShowLastVisitedPages(); }); }