UWP - 值发生变化时的automationProperties.Name

问题描述

我有一个 ListView,它根据 DataTemplate 填充结果。看下面的代码 我在 cpp 中引发属性更改事件以在 ResultText 字段的 UI 中反映相同的事件。 但相同的值并未反映在 AutomationProperties.Name 中。 如何更新 AutomationProperties.Name ?

                    <DataTemplate x:DataType="local:testResults">
                        <Grid x:Name="diagGrid" HorizontalAlignment="Stretch" Visibility="{x:Bind ShowStage,Mode=OneWay}" AutomationProperties.Name="{x:Bind ResultText}">
                            <Grid.RowDeFinitions>
                                <RowDeFinition Height="Auto"/>
                                <RowDeFinition Height="Auto"/>
                            </Grid.RowDeFinitions>
                            <Grid.ColumnDeFinitions>
                                <ColumnDeFinition Width="Auto" />
                                <ColumnDeFinition Width="*" />
                            </Grid.ColumnDeFinitions>
                            <SymbolIcon Grid.Column="0" Symbol="{x:Bind ResultSymbol,Mode=OneWay}" Foreground="{x:Bind SymbolColor,Mode=OneWay}" Visibility="{x:Bind IsstageComplete,Mode=OneWay}" HorizontalAlignment="Center"/>
                            <ProgressRing Grid.Column="0" IsActive="{x:Bind IsstageRunning,Mode=OneWay}" Margin="10,20,0" HorizontalAlignment="Center"/>

                            <TextBlock Grid.Column="1" Text="{x:Bind StageName,Mode=OneWay}" Foreground="{ThemeResource AppBarItemdisabledForegroundThemeBrush}">
                            </TextBlock>
                            <TextBlock x:Name="test" Grid.Column="1" Grid.ColumnSpan="2" Grid.Row="1" Text="{x:Bind ResultText,Mode=OneWay}" Margin="10" textwrapping="Wrap"/>
                        </Grid>
                    </DataTemplate>
                </ListView.ItemTemplate>```

解决方法

我添加了 mode=OneWay,然后就成功了。

AutomationProperties.Name="{x:Bind ResultText,Mode=OneWay}">