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

如何访问 UWP 控件数据模板中的页面数据上下文?

如何解决如何访问 UWP 控件数据模板中的页面数据上下文?

我目前有一个页面视图模型,其中包含一个信息视图模型。信息视图模型在页面视图模型中正确初始化,我可以按预期将对象绑定到信息视图模型中的控件。但是,当 UWP 应用程序进入编辑模式时,我遇到了问题。 我根据全局编辑状态切换信息视图模型中某些控件及其部件的可见性。

我创建了一个名为 IsEditing 的依赖属性,它是一个布尔值,它正确地将值从页面视图模型传递到信息视图模型。

IsEditing 属性在数据模板中不可用。例如,

<toolkitControls:DataGrid>
   <toolkitControls:DataGrid.Columns>
      <toolkitControls:DataGridTemplateColumn x:Name="MyDataGrid" Header="AGE">
                                    <toolkitControls:DataGridTemplateColumn.CellTemplate>
                                        <DataTemplate>
                                            <StackPanel
                                                HorizontalAlignment="Center"
                                                VerticalAlignment="Center"
                                                Orientation="Horizontal">
                                                <TextBlock
                                                    HorizontalAlignment="Center"
                                                    VerticalAlignment="Center"
                                                    Foreground="{StaticResource Blue}"
                                                    Style="{StaticResource MyTextBlockStyle}"
                                                    Text="{Binding User.Age}"
                                                    Visibility="{Binding Path=IsEditing,ElementName=Page,Converter={StaticResource CollapseConverter}}" />

注意:页面名称x:Name="Page"

我还尝试了以下绑定,但这些绑定也不起作用:

Visibility="{Binding Path=DataContext.IsEditing,Converter={StaticResource CollapseConverter}}"
Visibility="{Binding Path=DataContext.IsEditing,ElementName=MyDataGrid,Converter={StaticResource CollapseConverter}}"

有没有其他人设法在他们的 UWP 应用中使用它?

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