原谅我,我只是WPF
中的新手。
当我尝试在WPF
中调试我的小VS2012
应用程序时出现异常,请查看下面的屏幕截图。我试图找出究竟是什么例外。但没有找到一种方法来获取更多详细信息的异常。因为代码似乎在XAML
的第一行中断了。
我认为这可能是由我的Style DataGridDemoStyle
中的错误代码引起的。但我不知道什么代码导致错误。有没有办法查看错误InnerException
之类的详细信息?
感谢。
更新
我逐行检查样式代码后。
我发现一个名为DataGridDemoRowStyle
的样式导致错误。我不知道为什么这种样式会导致错误。因为如果我删除它。错误将消失。请在下面查看。
<Style x:Key="DataGridDemoStyle" TargetType="{x:Type DataGrid}">
<!--<Setter Property="AlternatingRowBackground" Value="{StaticResource RowBackgroundAlternateBrush}" />-->
<!--<Setter Property="BorderBrush" Value="#FF688CAF"/>-->
<!--<Setter Property="Background" Value="{DynamicResource bearBrush}" />-->
<!--<Setter Property="ColumnHeaderHeight" Value="50" />-->
<!--<Setter Property="HeadersVisibility" Value="All" />-->
<!--<Setter Property="RowBackground" Value="{StaticResource RowBackgroundBrush}" />-->
<!--<Setter Property="AlternationCount" Value="4" />-->
<Setter Property="RowStyle" Value="{StaticResource DataGridDemoRowStyle}" />
<!--<Setter Property="RowHeaderWidth" Value="50" />-->
<Setter Property="RowHeight" Value="22" />
<Setter Property="HorizontalGridLinesBrush" Value="{StaticResource DataGridHorizontalLinesBrush}" />
<Setter Property="CellStyle" Value="{StaticResource DataGridCellStyle}" /><!---->
<Setter Property="ColumnHeaderStyle" Value="{StaticResource DatagridColumnHeaderCustomTemplateStyle}" />
</Style>
<!--I don't know why below style will cause the error. If I remove it . the error will gone.-->
<Style x:Key="DataGridDemoRowStyle" TargetType="{x:Type DataGridRow}">
<Style.Triggers>
<Trigger Property="AlternationIndex" Value="2" >
<Setter Property="Background" Value="{StaticResource RowBackgroundAlternationIndex2Brush}" />
</Trigger>
<Trigger Property="AlternationIndex" Value="3">
<Setter Property="Background" Value="{StaticResource RowBackgroundAlternationIndex3Brush}" />
</Trigger>
</Style.Triggers>
</Style>
DataGridDemoRowStyle
风格有问题吗?感谢。
答案 0 :(得分:2)
我找到了原因。
如果我在主样式DataGridDemoStyle
之后放置子样式。 WPF将无法找到并加载它们。所以我必须在DataGridDemoStyle
之前放置所有的依赖风格。
正确的方式:
<Style x:Key="substyle1" >..</Style>
<Style x:Key="substyle2" >..</Style>
..
<Style x:Key="substylen" >..</Style>
<Style x:Key="mainstyle" >
...
<Setter Property="xxx" Value="{StaticResource substylen}" />
</style>
PS:XAML似乎逐行合规。在指定的代码编译行之前,应该准备好一切依赖。我不知道它是否正确。请帮忙复习。
感谢。