UAP - RelativePanel 设置器导致未处理和 AccessViolation 异常
UAP - RelativePanel setters lead to Unhandled and AccessViolation exceptions
使用以下 XAML 代码:
<RelativePanel x:Name="MainPanel"/>
以及以下 C# 代码:
var _red = new Rectangle() {
Width = _res.X, Height = _res.Y / 2, Fill = new SolidColorBrush(Colors.Red)
};
var _blue = new Rectangle() {
Width = _res.X, Height = _res.Y / 2, Fill = new SolidColorBrush(Colors.Blue)
};
MainPanel.Children.Add(_red); MainPanel.Children.Add(_blue);
RelativePanel.SetAlignTopWithPanel(_red, true); // (a)
RelativePanel.SetAlignLeftWithPanel(_red, true); // (b)
RelativePanel.SetBelow(_blue, _red); // (c)
我有 2 个不同的例外:在 (a) 和 (b) 行,我有一个 AccessViolationException
,附加信息:Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
.
在 (c) 行,所以如果我删除前两个,VS 的 JIT 调试器会告诉我 An unhandled win32 exception occured in foo.exe [10984]
。这可能是一个错误代码,但我没有找到任何关于它的文档。
关于为什么会发生这种情况的任何线索,以及如何解决这个问题?此外,如果我在 XAML 内设置这些属性,它工作正常。
对我来说,桌面和 Phone 的新版本 10061 都解决了这个问题。
使用以下 XAML 代码:
<RelativePanel x:Name="MainPanel"/>
以及以下 C# 代码:
var _red = new Rectangle() {
Width = _res.X, Height = _res.Y / 2, Fill = new SolidColorBrush(Colors.Red)
};
var _blue = new Rectangle() {
Width = _res.X, Height = _res.Y / 2, Fill = new SolidColorBrush(Colors.Blue)
};
MainPanel.Children.Add(_red); MainPanel.Children.Add(_blue);
RelativePanel.SetAlignTopWithPanel(_red, true); // (a)
RelativePanel.SetAlignLeftWithPanel(_red, true); // (b)
RelativePanel.SetBelow(_blue, _red); // (c)
我有 2 个不同的例外:在 (a) 和 (b) 行,我有一个 AccessViolationException
,附加信息:Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
.
在 (c) 行,所以如果我删除前两个,VS 的 JIT 调试器会告诉我 An unhandled win32 exception occured in foo.exe [10984]
。这可能是一个错误代码,但我没有找到任何关于它的文档。
关于为什么会发生这种情况的任何线索,以及如何解决这个问题?此外,如果我在 XAML 内设置这些属性,它工作正常。
对我来说,桌面和 Phone 的新版本 10061 都解决了这个问题。