gpt4 book ai didi

wpf - 在 WPF 中,何时调用 View 对象(MVVM 模式)的构造函数?

转载 作者:行者123 更新时间:2023-12-03 10:15:24 28 4
gpt4 key购买 nike

在以下文章中的示例应用程序中:

http://msdn.microsoft.com/en-us/magazine/dd419663.aspx

在 CustomerView View 中,如果您在该 View 的构造函数中放置断点,则第一次命中该断点。对于显示的该 UserControl 的后续实例,不会再次调用构造函数。

两个问题:

  • 这是什么原因?
  • 每次创建新的 CustomerView 时,我可以将要执行的代码放在哪里?
  • 最佳答案

    View 只创建一次的原因是它在 TabControl/HeaderedContentControl 中。

    如果您使用列表框,您会看到每次添加新 View 模型时,也会创建一个新 View 。

     <ListBox ItemsSource="{Binding Path=Workspaces}">
    </ListBox>

    代替
     <HeaderedContentControl 
    Content="{Binding Path=Workspaces}"
    ContentTemplate="{StaticResource WorkspacesTemplate}"
    Header="Workspaces"
    Style="{StaticResource MainHCCStyle}"
    />

    编辑:

    Where can I place code I want to be executed every time a new CustomerView is created?



    如果您使用 DataTemplates,您将永远不会自己创建新 View 。您只需创建一个新的 VM/对象,然后将其显示为 DataTemplate。

    如果您想自己创建 View ,则必须采用“先查看”方法,然后将正确的 ViewModel 添加到创建的 View 中。

    关于wpf - 在 WPF 中,何时调用 View 对象(MVVM 模式)的构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6842270/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com