WindowsFormsHost error IsRedirected is not found?

守給你的承諾、 提交于 2019-12-02 01:03:05

问题


I am adding a WINFORM chart to my WPF project using

 System.Windows.Forms.Integration.WindowsFormsHost

I am trying to work around the "airspace" rendering issue where the host is always rendered as the top most element the window. The workaround I am using sets

IsRedireced = "true"

When I insert this into my XMAL code:

        <Grid x:Name="ssCurveChartGrid" Grid.Column="1" Margin="110,30,160,306" Grid.ColumnSpan="4" RenderTransformOrigin="0.479,0.186">
        <WindowsFormsHost IsRedirected =" "true">

        </WindowsFormsHost>
    </Grid>

or my code behind:

System.Windows.Forms.Integration.WindowsFormsHost host =
            new System.Windows.Forms.Integration.WindowsFormsHost();

host.IsRedirected = "true";

I get the following error:

The property 'IsRedirected' was not found in type 'WindowsFormsHost'

Here is a screenshot:

Can anyone help explain why this is happening? I relay need to display an element on top of my WINFORM chart!

Thanks

EDIT:

Code was taken from MSDN site: http://msdn.microsoft.com/en-us/library/ms752027.aspx

From MSDN: "By default, visible WindowsFormsHost elements are always drawn on top of other WPF elements, and they are unaffected by z-order. To enable z-ordering, set the IsRedirected property of the WindowsFormsHost to true and the CompositionMode property to Full or OutputOnly. To see the default z-order behavior"

"Copy the following XAML into the Grid element."

<!-- Z-order demonstration. -->
<Canvas Grid.Row="1" Grid.Column="1">
  <WindowsFormsHost Canvas.Top="20" Canvas.Left="20" Background="Yellow">
    <wf:Button Text="Windows Forms control" FlatStyle="Flat"/>
  </WindowsFormsHost>
  <Label Content="A WPF label" FontSize="24"/>
</Canvas>

Press F5 to build and run the application. The WindowsFormsHost element is painted over the label element.

"To see the z-order behavior when IsRedirected is true"

Replace the previous z-order example with the following XAML.
XAML

<!-- Z-order demonstration. -->
<Canvas Grid.Row="1" Grid.Column="1">
  <WindowsFormsHost IsRedirected="True" CompositionMode="Full" Canvas.Top="20" Canvas.Left="20" Background="Yellow">
    <wf:Button Text="Windows Forms control" FlatStyle="Flat"/>
  </WindowsFormsHost>
  <Label Content="A WPF label" FontSize="24"/>
</Canvas>

Press F5 to build and run the application. The label element is painted over the WindowsFormsHost element.

回答1:


Microsoft .NET Framework 4.5 Beta Readme

1.3.10 Windows Presentation Foundation (WPF)

1.3.10.1 HwndHost feature has been removed from WPF in the .NET Framework 4.5 Beta

The .NET Framework 4.5 Developer Preview included a WPF HwndHost redirection feature. However, this feature had several known issues and has been removed from the .NET Framework 4.5 Beta. It will not be included in any future releases.

To resolve this issue:

No workaround is available.

(emphasis added)




回答2:


Which .Net Framework are you using here. IsRedirected for WindowsFormHost is released with Framework 4.5



来源:https://stackoverflow.com/questions/24914703/windowsformshost-error-isredirected-is-not-found

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!