wpf - DependencyProperty.UnsetValue 不是属性的有效值
问题描述
我的Bootstrapper
课堂上有以下代码:
protected override void InitializeShell() {
Application.Current.MainWindow = (Window)this.Shell; //520
Application.Current.MainWindow.WindowState = WindowState.Maximized;
Application.Current.MainWindow.WindowStyle = WindowStyle.None;
try
{
Application.Current.MainWindow.Show(); //720
}
catch (ArgumentException exp)
{
// avoid RadRibbonWindow.AttachToWindowInteropHandle exceptions when closing window
}
}
当我的代码命中该行时,Application.Current.MainWindow.Show();
我的调试器会捕获异常:
System.InvalidOperationException:“{DependencyProperty.UnsetValue}”不是属性“BorderBrush”的有效值。
我怀疑UnsetValue
可能来自WindowStyle.None
,但因为AllowTransparency
某处是True
,这是我被允许使用的唯一窗口样式。
我的谷歌搜索发现的这个问题的其他场合提供了更多细节,但没有一个适合我的场景,我不知道我应该找到和分享哪些其他细节。有人可以帮我完成一些步骤,或者我应该查看的应用程序区域,以进行调试吗?
解决方案
我找到了这个 setter:
<Setter Property="BorderBrush" Value="{StaticResource ControlOuterBorder_Normal}"/>
并且没有找到一条消息ControlOuterBorder_Normal
。
使用DynamicResource
或包含(合并)ResourceDictionary
包含的ControlOuterBorder_Normal
(或定义它,如果它没有在任何地方定义)。
推荐阅读
- javascript - 为什么我得到 Functions are not valid as a React child?
- prolog - 计算序言中的节点
- sql-server - 如何防止使用实体框架数据库优先方法设置计算属性?
- javascript - 检查 jquery 地图对象是否为空?适用于 IE 和 Chrome 浏览器
- javascript - 如何将数据添加到 Echart 中的“categoryB”和“categoryC”?
- javascript - 分页和排序表格的问题
- javascript - 如何在javascript中将字节字符串转换为字节数组?
- java - 在firebase(JAVA)中插入一个字符串变量作为键(子)
- reactjs - 通过功能更改重用反应组件
- webmin - Webmin 1.890 在需要 ACL 时失败