我有一个UWP应用,其中有两个页面:MainPage和EventPage。在这两个位置上都有一个splitView,在它的顶部是一个带有两个按钮的GridView-一个导航到MainPage,另一个导航到EventPage。按钮的XAML如下所示:
<Button Content="Browse by system"
HorizontalAlignment="Center"
Margin="0,0,0,0"
VerticalAlignment="Top"
Width="250"
Click="SystemButtonClick"/>
但是,当我按下“按系统浏览”按钮时,应用程序崩溃了。这是页面的构造函数:
public EventPage()
{
this.InitializeComponent();
var systemList = SystemClass.GetSystems();
systemList.Sort();
Systems = new ObservableCollection<string> (systemList);
}
它可以很好地通过构造函数,而在退出按钮单击的事件处理程序时崩溃:
private void SystemButtonClick(object sender, RoutedEventArgs e)
{
this.Frame.Navigate(typeof(EventPage));
}
我已经根据Microsoft的Peer-to-peer navigation教程对此进行了建模,但没有发现任何明显的不同。我在这里可以找到的唯一类似问题是this,但这似乎是由于我没有使用Template10软件包。
当崩溃确实发生时,它将转到App.g.i.cs文件,并抱怨未将调试器配置为调试此未处理的异常。
有人知道为什么会这样吗?
编辑:要添加,如果单击按钮移至当前页面,它将重新加载正常。我还尝试过将程序启动到EventPage,这也提示崩溃。
EDIT2:经过进一步测试,似乎我找到了崩溃的根源,尽管我不了解它。
在EventPage类的开头,我有一些变量:
public sealed partial class EventPage : Page
{
private ObservableCollection<EventBin> EventCollection;
private ObservableCollection<String> Systems;
public EventPage()
{
this.InitializeComponent();
Systems = SystemClass.GetSystems();
}
当我分配Systems变量时,似乎发生了麻烦。对于其他页面,我使用相同的操作但使用了不同的变量,这不会发生。唯一的区别是在MainPage中,它是自定义类而不是字符串的ObservableCollection。
如果我这样重新初始化System变量:
var Systems = SystemClass.GetSystems();
它可以运行,但是没有连接到XAML中的绑定。
答案 0 :(得分:0)
因此,事实证明,问题在于我已将自定义类型绑定到数据模板中的列表,然后尝试将其输入纯字符串。
select sl.*
from [dbo].[LMT2_ServerLicenseUser] sl
where convert(date, startdate, 103) >= @fromdate and
convert(date, startdate, 103) <= @todate;
由于这些字符串显然没有任何Name或Site属性,因此崩溃了。