C# Wpf启用透明度会引发Windows.Markup.XamlParseException
我的WPF应用程序运行良好。然后,我更改了一个按钮的背景色,该按钮位于一个透明窗口内,保存并编译/运行。从那以后,运行我的程序 Windows.Markup.XamlParseException 附加信息 System.Windows.UI.Visibility引发了异常 我无法撤消更改,现在我无法解决此问题,除非删除“AllowTransparency=True”行。我需要窗户是透明的,我怎么才能解决这个问题 这是故障块的代码C# Wpf启用透明度会引发Windows.Markup.XamlParseException,c#,wpf,exception,C#,Wpf,Exception,我的WPF应用程序运行良好。然后,我更改了一个按钮的背景色,该按钮位于一个透明窗口内,保存并编译/运行。从那以后,运行我的程序 Windows.Markup.XamlParseException 附加信息 System.Windows.UI.Visibility引发了异常 我无法撤消更改,现在我无法解决此问题,除非删除“AllowTransparency=True”行。我需要窗户是透明的,我怎么才能解决这个问题 这是故障块的代码 <Window x:Class="WPF.Overl
<Window
x:Class="WPF.OverlayButtonField"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:WPF"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
Title="OverlayButtonField"
Width="175"
Height="139"
AllowsTransparency="True"
Loaded="Window_Loaded"
ShowActivated="False"
ShowInTaskbar="False"
Topmost="True"
Visibility="Visible"
WindowStyle="None">
您忽略了提及
内部异常,这澄清了问题:
InvalidOperationException:WindowsStyle。AllowTransparency为true时,None是WindowsStyle的唯一有效值
问题在于,在将WindowStyle
设置为None
之前,您正在触摸Visibility
。原则上,XML中属性的顺序并不重要。在XAML中,在实践中,它有时可能很重要。这种情况确实如此
将Visibility=“Visible”
放在WindowStyle=“None”
之后,或将allowtransparency=“True”
放在两者之后,或者最好完全省略Visibility=“Visible”
。这是多余的<代码>可见
是默认设置 您忽略了提及InnerException
,这澄清了问题:
InvalidOperationException:WindowsStyle。AllowTransparency为true时,None是WindowsStyle的唯一有效值
问题在于,在将WindowStyle
设置为None
之前,您正在触摸Visibility
。原则上,XML中属性的顺序并不重要。在XAML中,在实践中,它有时可能很重要。这种情况确实如此
将
Visibility=“Visible”
放在WindowStyle=“None”
之后,或将allowtransparency=“True”
放在两者之后,或者最好完全省略Visibility=“Visible”
。这是多余的<代码>可见是默认设置 编辑器似乎自己对属性进行排序,因此我无法重新排序,但忽略可见性解决了这个问题。事实上,它似乎自己添加了该属性。不管怎样,谢谢。编辑器似乎自己对属性进行排序,所以我无法重新排序,但忽略可见性解决了问题。事实上,它似乎自己添加了该属性。不管怎样,谢谢你。