Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF:取消从已加载事件继续加载的窗口_C#_Wpf - Fatal编程技术网

C# WPF:取消从已加载事件继续加载的窗口

C# WPF:取消从已加载事件继续加载的窗口,c#,wpf,C#,Wpf,如果else语句在加载的事件中执行,我想取消加载,不显示窗口。请参阅下面的代码 private void OpenTradesLoaded(object sender, RoutedEventArgs e) { if (OpenTradesQuery.Count() > 0) { numOfrecords = OpenTradesQuery.Count(); DataContext = this; foreach (var

如果else语句在加载的事件中执行,我想取消加载,不显示窗口。请参阅下面的代码

private void OpenTradesLoaded(object sender, RoutedEventArgs e)
{
    if (OpenTradesQuery.Count() > 0)
    {
        numOfrecords = OpenTradesQuery.Count();
        DataContext = this;

        foreach (var rowObj in OpenTradesQuery)
        {
            row = SourceTable.NewRow();
            SourceTable.Rows.Add(rowObj.TraderID, rowObj.ClientTradedDate, rowObj.ClientTradedTime, rowObj.ClientName, rowObj.CurrencyPair, rowObj.TradedAmount, rowObj.Action, rowObj.ExecutedRate);
        }
    }
    else
    {
        Mouse.OverrideCursor = System.Windows.Input.Cursors.Arrow;
        MeBox.Show("You have no open trades.", "", MessageBoxButton.OK, MessageBoxImage.Error);

        **//Cancel Loading here and do not show window**
    }
}    
我刚用过

this.Close();

工作正常。

您可以使用此属性:

    public bool ShouldLoad
    {
        get { return OpenTradesQuery.Count() > 0; }
    }
当您想打开时,询问是否应该打开:

    MyPage mypage = new MyPage();

    if (mypage.ShouldLoad)
    {
        mmypage.Show();
    }
    else
    {
        MeBox.Show("You have no open trades.", "", MessageBoxButton.OK, 
                   MessageBoxImage.Error);
    }

使用此代码,您可以在加载之前检查它是否确实应该加载。

为什么不在
OpenTradesQuery.Count()>0
时创建一个返回
true
的公共方法,然后开始加载表单?