2016-02-26 72 views
0

enter image description hereC#WPF XAML窗口,消息框中

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

有谁知道如何做到这一点?

我不想在一个单独的窗口中另一个弹出消息框,我想显示/堆叠在同一弹出窗口DataGrid中的所有邮件。

+0

下面的链接将帮助您在重叠的消息contaai​​ner http://stackoverflow.com/questions/5450985/how-to-make-overlay - 控制 - 上述所有其他的控件然后通过'知名度隐藏容器=“崩溃”'按钮点击 –

回答

0

下面,有在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; 
    } 
    } 
+0

谢谢。让我试试这个! – edb500