如何将wpf中的按钮AutomationProperties.name绑定到2个值 像那样 AutomationProperties.Name =“text1 + {Binding automationPropertiesNameInspectMode}”
和
AutomationProperties.Name =“text2 + {Binding automationPropertiesNameTestMode}”
<Grid x:Name="ictMainMenu" KeyboardNavigation.TabIndex="1"
DockPanel.Dock="Top" KeyboardNavigation.DirectionalNavigation="Contained"
WindowChrome.IsHitTestVisibleInChrome="True"
Margin="0,90,0,0"
VerticalAlignment="Top"
KeyboardNavigation.TabNavigation="Once">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Button x:Name="btnInspect"
Height="40" Width="40"
ToolTip="Inspect" Style="{StaticResource btnLeftNav}"
AutomationProperties.Name="text1 + {Binding automationPropertiesNameInspectMode}"
Click="btnInspect_Click">
<Grid Width="40" Height="40">
<Canvas x:Name="cvsInspect" HorizontalAlignment="Left" Width="7" Height="Auto" Background="#FFFFFF" Visibility="Collapsed"/>
<fabric:FabricIconControl GlyphName="SearchAndApps" FontSize="24" VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="#eaeaea"/>
</Grid>
</Button>
<Button x:Name="btnTest"
Height="40" Width="40"
Grid.Row="1"
ToolTip="Test"
AutomationProperties.Name="text2 + {Binding automationPropertiesNameTestMode}"
Click="btnTest_Click"
Style="{StaticResource btnLeftNav}">
<Grid Width="40" Height="40">
<Canvas x:Name="cvsTest" HorizontalAlignment="Left" Width="7" Height="Auto" Background="#ffffff"/>
<fabric:FabricIconControl GlyphName="TestBeakerSolid" FontSize="24" HorizontalAlignment="Center" Foreground="#eaeaea" Margin="12,0,12,12" Height="16" VerticalAlignment="Bottom"/>
</Grid>
</Button>
</Grid>
答案 0 :(得分:0)
您可以使用绑定字符串格式。
<Button Content="Open" Height="50" Click="Button_Click"
AutomationProperties.Name="{Binding ButtonAccessibleName ,StringFormat=test{0}}"/>
或者,如果您想要更多控制,可以使用这样的转换器:
AutomationProperties.Name="{Binding CurrentPlant,
Converter={StaticResource
CurrentPlantToAutomationPropertiesNameConverter}}">
答案 1 :(得分:0)
我刚刚在更新窗口UI的方法中手动更新了它,因此每次更新窗口时都会调用它