问题描述
我有一个 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}">