我目前有一个页面视图模型,其中包含一个信息视图模型。信息视图模型在页面视图模型中正确初始化,我可以按预期将对象绑定到信息视图模型中的控件。但是,当 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, ElementName=Page, Converter={StaticResource CollapseConverter}}"
Visibility="{Binding Path=DataContext.IsEditing, ElementName=MyDataGrid, Converter={StaticResource CollapseConverter}}"
有没有其他人设法在他们的 UWP 应用中使用它?