微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

初始化 Prism 应用程序期间的 DataGrid AutoGeneratingColumn 问题

如何解决初始化 Prism 应用程序期间的 DataGrid AutoGeneratingColumn 问题

我在 Prism 中遇到 AutoGeneratingColumn 事件的问题。 我的视图之一具有 DataGrid 定义:

<DataGrid ItemsSource="{Binding RegisteredEvents,Mode=OneWay}" AutoGenerateColumns="True"> 
    <i:Interaction.Triggers>
        <i:EventTrigger EventName="AutoGeneratingColumn">
            <i:InvokeCommandAction Command="{Binding AutoGeneratingColumnCommand}" PassEventArgsToCommand="True"/>
        </i:EventTrigger>
     </i:Interaction.Triggers>
</DataGrid>

并使用 AutoWireviewmodelviewmodel 当然是定义 AutoGeneratingColumnCommand。 在应用程序初始化期间,我调用 RegisterViewWithRegion。应用程序正在从另一个视图启动,用户可以通过单击按钮使用 DataGrid 导航到该视图。问题是在第一次显示视图之前 AutoGeneratingColumnCommand 没有调用。 Prism 创建 View 和 viewmodel,设置 DataContextItemSource 也设置正确,DataGrid 正在填充,但标题没有自定义。在第一次显示视图后,AutoGeneratingColumn 即使用户更改了视图也能正常工作。 我尝试在 OnNavigatedToINavigationAware 界面)中强制刷新 ItemSource,但在第一次导航事件中没有成功。之后就好了。

我该如何解决这个问题?我将不胜感激。

更新:我在视图的代码隐藏中添加AutoGeneratingColumn 事件的处理程序。此处理程序实际上调用OnNavigatedTo 中的强制刷新 ItemSource。来自 EventTrigger nop.

的命令

更新#2:我用命令行为机制替换了EventTrigger,现在这种处理事件的方法和使用的代码隐藏方法之间没有区别。我不确定,但认为我的问题有类似的原因:MVVM - WPF DataGrid - AutoGeneratingColumn Event

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。