XtraReports DocumentPreviewControl更改框架背景颜色

时间:2018-04-13 09:15:02

标签: wpf background-color xtrareport

我正在使用XtraReports的试用版。我的应用程序基于框架和materialdesing对话框。我使用自定义强调颜色创建了几个页面。一切正常。当我打开包含DocumentPreviewControl的对话框或页面并切换回其他页面时,我的页面背景变为白色。当我从页面中删除DocumentPreviewControl时,一切正常。

有什么建议吗?

代码: ReportPage.xaml:

<StackPanel>
    <DockPanel Height="750" Background="#454545">
        <dxp:DocumentPreviewControl RequestDocumentCreation="True" DocumentSource="{Binding ReportDocument}" dx:ThemeManager.ThemeName="Office2013DarkGray"/>
    </DockPanel>
</StackPanel>

MainWindow.xaml:

<Frame Grid.Row="0" Grid.Column="1" Grid.ColumnSpan="2" 
           Name="frame"
           Background="#FF454545"
           Margin="0,20,0,10"
           NavigationUIVisibility="Hidden">
            <Frame.Style>
                <Style TargetType="Frame">
                    <Style.Triggers>
                        <DataTrigger Binding="{Binding IsLogged}" Value="True">
                            <Setter Property="Source" Value="MainPage.xaml"/>
                        </DataTrigger>
                        <DataTrigger Binding="{Binding IsLogged}" Value="False">
                            <Setter Property="Source" Value="NotLoggedPage.xaml"/>
                        </DataTrigger>
                    </Style.Triggers>
                </Style>
            </Frame.Style>

1 个答案:

答案 0 :(得分:1)

之所以会发生这种现象,是因为DevExpress主题也会影响标准控件的样式。当控件注入到可视树中时,默认的Office2016White主题将应用于所有元素。如果要禁用此行为,请在应用程序启动时将ApplicationThemeHelper.UseLegacyDefaultTheme属性设置为true:

Sub Test()

    MsgBox Eval("1+2+3^4")

End Sub

Function Eval(s As String)

    Static oDoc As Object

    If oDoc Is Nothing Then
        Set oDoc = CreateObject("htmlfile")
        oDoc.parentWindow.execScript "Function EvalExpr(s): EvalExpr = Eval(s): End Function", "vbscript"
    End If
    Eval = oDoc.parentWindow.EvalExpr(s)

End Function