我目前有一个程序,可以在其中加载文本。
现在,我创建了一个弹出弹出按钮/ ContentDialog的按钮,但我对此并不满意,因为这限制了我试图实现的目标。
当我单击按钮时,它将打开弹出窗口,该弹出窗口将获得完整的Focus。这意味着我无法滚动至弹出框打开时的文本。如果我在弹出框外单击,弹出框就会消失。
我有一个类似于ContentDialog的问题。 当我单击按钮并弹出ContentDialog时,ContentDialog后面的所有内容都会变成白色/灰色。此外,ContentDialog不允许ContentDialog本身之外的任何Focus。
那我想拥有什么?
我希望当我单击出现窗口的按钮时。我应该能够自定义窗口(在其中写入文本,并且应该有一个按钮)。 当此窗口打开时,我希望能够在不关闭窗口的情况下在该窗口外执行操作。例如,滚动浏览我加载的文本。
有什么我可以实现的吗?
答案 0 :(得分:0)
看看Popup类。这样一来,您就可以在应用程序窗口的其他内容之上显示内容。它与Flyout相似,但是没有您不想要的所有内置Flyout行为。 Popup class documentation包含有关何时以及如何使用它的更多详细信息和评论。
这是一个没有样式的非常平淡的例子。
<Grid>
<Popup x:Name="popup">
<StackPanel>
<TextBlock Text="Poppity pop pop" />
<Button Click="ClosePopup_Click">Close</Button>
</StackPanel>
</Popup>
<Button Click="OpenPopup_Click">Open Popup</Button>
</Grid>
private void OpenPopup_Click(object sender, RoutedEventArgs e)
{
popup.IsOpen = true;
}
private void ClosePopup_Click(object sender, RoutedEventArgs e)
{
popup.IsOpen = false;
}
中有一个稍微复杂的示例
答案 1 :(得分:0)
我只是隐藏并显示任何我想要的网格。