窗口消息框中的 C# WPF XAML
Posted
技术标签:
【中文标题】窗口消息框中的 C# WPF XAML【英文标题】:C# WPF XAML In Window Messages Boxes 【发布时间】:2016-06-09 14:47:21 【问题描述】:我是 C# WPF 的新手,我创建了一个 Popup
窗口,其中包含一个 DataGrid
来保存一些数据。在某些情况下,如果数据中有任何错误,我想在窗口底部的同一个弹出窗口中显示此错误(参见屏幕截图)。这个想法是用户可以然后单击确定,消息将消失,再次显示完整的数据网格。
有人知道怎么做吗?
我不想在单独的窗口中出现另一个弹出消息框,我希望所有消息都显示/堆叠在与数据网格相同的弹出窗口中。
【问题讨论】:
以下链接将帮助您重叠消息容器***.com/questions/5450985/… 然后在按钮单击时通过visibility="collapsed"
隐藏容器
【参考方案1】:
下面,XAML 中有 2 个网格:主网格包含 DataGrid
,另一个网格包含错误 UI。错误网格通常是折叠的(Visibility
设置为 Visibility.Collapsed
)。
当需要显示错误信息时,将错误网格的Visibility
设置为Visibility.Visible
,即显示网格。当用户点击“关闭”按钮时,错误网格的Visibility
设置为Visibility.Collapsed
。
没有单独的窗口或弹出窗口。一切都包含在主视图中。
XAML:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<DataGrid>
</DataGrid>
<Button Grid.Column="1" Content="Show Message Window" VerticalAlignment="Center" Click="Button_Click_1"/>
<!-- This is the "error grid"-->
<Grid VerticalAlignment="Bottom" Height="Auto"
Background="AliceBlue" Visibility="Collapsed" Name="grdError">
<TextBlock Text="Oops. This is an error!"/>
<Button Content="Dismiss" HorizontalAlignment="Right" Click="Button_Click_3"/>
</Grid>
</Grid>
代码背后:
public partial class MainWindow : Window
public MainWindow()
InitializeComponent();
private void Button_Click_1(object sender, RoutedEventArgs e)
grdError.Visibility = Visibility.Visible;
private void Button_Click_3(object sender, RoutedEventArgs e)
grdError.Visibility = Visibility.Collapsed;
【讨论】:
谢谢。让我试试这个!以上是关于窗口消息框中的 C# WPF XAML的主要内容,如果未能解决你的问题,请参考以下文章