【问题标题】:C# WPF XAML In Window Messages Boxes窗口消息框中的 C# WPF XAML
【发布时间】:2016-06-09 14:47:21
【问题描述】:

我是 C# WPF 的新手,我创建了一个 Popup 窗口,其中包含一个 DataGrid 来保存一些数据。在某些情况下,如果数据中有任何错误,我想在窗口底部的同一个弹出窗口中显示此错误(参见屏幕截图)。这个想法是用户可以然后单击确定,消息将消失,再次显示完整的数据网格。

有人知道怎么做吗?

我不想在单独的窗口中出现另一个弹出消息框,我希望所有消息都显示/堆叠在与数据网格相同的弹出窗口中。

【问题讨论】:

标签: c# wpf xaml


【解决方案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;
    }
  }

【讨论】:

  • 谢谢。让我试试这个!
猜你喜欢
  • 1970-01-01
  • 2021-08-06
  • 1970-01-01
  • 1970-01-01
  • 2018-11-10
  • 1970-01-01
  • 2011-01-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多