答案 0 :(得分:0)
在WPF中,您通常会在当前窗口中使用单独的子Window或Popup来显示类似内容。弹出窗口将被限制在父窗口的边界内,而窗口可以位于屏幕上的任何位置。您可以非常轻松地启动新窗口:
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描述了控制窗口位置。您可能希望在父窗口的事件中执行此操作,这有意义,例如SizeChanged和LocationChanged。
最后,取决于你希望窗框看起来如何(我想象"抽屉"不应该看起来像一个完整的窗户,只是粘在一边你的父窗口)我至少会改变孩子的WindowStyle。此外,您可以使窗口透明,并完全重新设置内容,使其看起来更像您提供的图像。
这大致是您正在寻找的。我希望这会有所帮助。