如何访问 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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...