返回首页

首先,我告诉你我有什么,比我解释一下我的问题。
我有一个代码,在那里我可以根据属性"布局",它可以是"Layout1"或"Layout2"风格之间切换。

<Grid>

    <ContentControl Style="{Binding Layout}">

    </ContentControl>

</Grid>

这里是样式定义:
{C}每种风格使用的静态ressource"mywindow的"。在mywindow的,类myControl和myControl使用WindowsFormsControl myControl5。

 

    <Style x:Key="myWindow" TargetType="{x:Type ContentControl}">

        <Setter Property="Template">

            <Setter.Value>

                <ControlTemplate TargetType="{x:Type ContentControl}">

                    <Grid >

                        <local:myControl Margin="0,0,0,0"

                        </local:myControl>

                    </Grid>

                 </ControlTemplate>

            </Setter.Value>

        </Setter>

    </Style>

 

    <Style TargetType="{x:Type local:myControl}">

        <Setter Property="Template">

            <Setter.Value>

                <ControlTemplate TargetType="{x:Type local:myControl}">

                    <WindowsFormsHost x:Name="PART_WindowsFormsHost">

                        <cbh:myControl5></cbh:myControl5>

                    </WindowsFormsHost>

                </ControlTemplate>

            </Setter.Value>

        </Setter>

    </Style>

在类myControl,我得到的句柄myControl5,所以我可以用它来添加事件处理程序。
{体C3}现在我的问题:
每次式布局的变化,我看到WPF创建一个新的myControl,但从来没有释放它。因此,内存使用率增加每次。
我希望解释是非常有用的,你可以说"Natch,你忘了......"或类似的东西。| Terkosh

回答

评论会员: 时间:2
{