爲WPF

2017-06-20 25 views
-1
NSDrawer樣控制

我試圖建立一個滑出式抽屜WPF應用程序一樣,很多MacOS應用程序有:爲WPF

NSDrawer Example

我怎麼會去實現呢?

+0

你有沒有看過NSDrawer的文檔? Apple不贊成這個類,並且敦促開發者避免抽屜式的界面。如果您打算在應用商店中推銷您的應用,則應該聽取他們的建議,並考慮另一種顯示/收集信息的方法。 –

+0

不,我沒有,因爲我的問題是關於如何使用WPF實現類似的東西。最後我檢查了,你不能提交WPF應用程序到Mac App Store ... –

+0

問題是關於如何實現這個,而不是實現它是個好主意。 –

回答

0

在WPF中,您通常會在當前窗口中使用單獨的子項WindowPopup顯示類似內容。彈出窗口將被限制在您的父窗口的邊界內,而窗口可以在屏幕上的任何位置。你可以很容易打開一個新窗口:

var window = new Window(); 
// Initialize your content to whatever you want in the window 
window.Content = new TextBlock() { Text = "Hello world }; 
window.Show(); 
// Use .Show() if you want to allow users to interact with both windows at the same time 
// Otherwise use .ShowDialog() to force the user to interact/dismiss the child first 

你需要,如果你希望它被捆綁到你的父窗口的一側以某種方式控制子窗口的位置。 This SO article描述了控制窗口的位置。您可能希望在您的父窗口中的事件期間執行此操作,例如SizeChangedLocationChanged。最後,根據你希望窗框看起來如何(我想「抽屜」不應該看起來像一個完全吹出的窗口,只是堅持在你的父窗口一側),我至少會改變孩子的WindowStyle。此外,您可以使窗口透明並完全重新整理內容,使其看起來更像您提供的圖像。

這大致是你要找的。我希望這有幫助。