Как использовать элементы управления FastReport .NET в WPF приложениях?

Question: Как использовать элементы управления FastReport .NET в WPF приложениях?

Answer:

Для этого следует использовать WindowsFormsHost :
0) Добавьте ссылку на FastReport.dll;

  1. Добавьте аттрибут в тэг Window(Page): xmlns:fr="clr-namespace:FastReport.Preview;assembly=FastReport" если вы хотите использовать PreviewControl, xmlns:fr1="clr-namespace:FastReport.Design;assembly=FastReport" - если DesignerControl;
  2. Добавьте тэг WindowsFormsHost в вашу XAML-разметку:
<WindowsFormsHost HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Grid.Column="0" Grid.ColumnSpan="3"> </WindowsFormsHost>
 
  1. Добавьте дочерний тэг в WindowsFormsHost: fr:PreviewControl</fr:PreviewControl> или fr1:Designer</fr1:Designer>.
    Полная разметка должна выглядеть следующим образом:
<Window 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:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" x:Class="WpfApplication1.MainWindow" Title="MainWindow" Height="375.977" Width="939.258" xmlns:fr="clr-namespace:FastReport.Preview;assembly=FastReport"> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition Width="*"/> <ColumnDefinition Width="*"/> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <WindowsFormsHost HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Grid.Column="0" Grid.ColumnSpan="3"> <fr:PreviewControl></fr:PreviewControl> </WindowsFormsHost> </Grid> </Window>