簡體   English   中英

我可以在工具欄按鈕上使用DataTemplate並仍然使名稱有意義嗎?

[英]Can I use a DataTemplate for toolbar buttons and still make the name meaningful?

我有一個工具欄,其ItemSource是toolbarItems的集合,其中包含按鈕的位圖文本和其他信息,而xaml包含將數據綁定到按鈕的DataTemplate。

現在,我們的應用需要符合508的要求,當我運行Accessible Event Watcher時,它會將所有工具欄按鈕名稱都列為“未知”。

有人可以告訴我如何為按鈕提供一個有意義的名稱嗎?

這是xaml應用於此問題的部分:

<ToolBar.ItemTemplate>
    <DataTemplate DataType="{x:Type src:toolBarItem}">
          <DataTemplate.Resources>
           <src:toolBarItemConverter x:Key="buttonConverter" />
           <src:booleanToVisibilityConverter x:Key="boolToVisibilityConverter" />
              <src:toolBarButtonFormatConverter x:Key="toolBarFormatDisplayConverter" />
              <src:stringToVisibilityConverter x:Key="stringToVisibilityDisplayConverter" />
    </DataTemplate.Resources>

    <StackPanel Orientation="Horizontal">

        <Border Style="{StaticResource SeparatorStyle}" Visibility="{Binding menuSeparator, Converter={StaticResource boolToVisibilityConverter}}"/>

        <Button x:Name="listButton" Height="{Binding menuHeight, Mode=OneWay}" Width="{Binding menuWidth}" VerticalAlignment="Top" HorizontalAlignment="Center" Visibility="{Binding isActiveButton, Converter={StaticResource boolToVisibilityConverter}}" Tag="{Binding}" 
      ToolTip="{Binding menuTooltip}"  IsEnabled="{Binding isEnabled}"  >
             <UniformGrid VerticalAlignment="Center" HorizontalAlignment="Center" Rows="{Binding menuText,Converter={StaticResource toolBarFormatDisplayConverter}}" >
     <!-- button image -->
     <Image Grid.Row="0"  HorizontalAlignment="Center" VerticalAlignment="Center" Source="{Binding menuImage, Converter={StaticResource buttonConverter}}"/>
     <!-- button name -->
              <Viewbox StretchDirection="DownOnly" HorizontalAlignment="Center" VerticalAlignment="Bottom" Visibility="{Binding menuText, Converter={StaticResource stringToVisibilityDisplayConverter}}" >
               <TextBlock x:Name="buttonName" FontFamily="Segoe UI" Width="{Binding menuWidth}"  FontSize="12" Grid.Row="1" TextAlignment="Center" TextWrapping="Wrap" HorizontalAlignment="Center" VerticalAlignment="Bottom" Text="{Binding menuText}" Foreground="Black" />
     </Viewbox>
    </UniformGrid>
      <!-- </StackPanel> -->
      </Button>          
          </StackPanel>
        </DataTemplate>
   </ToolBar.ItemTemplate>

謝謝,

羅恩

好的,我們知道了。 需要簡單地將您的名稱綁定到AutomationProperties.Name

<Button x:Name="listButton" AutomationProperties.Name="{Binding menuText}" 
Height="{Binding menuHeight, Mode=OneWay}" Width="{Binding menuWidth}"  
VerticalAlignment="Top" HorizontalAlignment="Center" 
Visibility="{Binding isActiveButton,  
Converter={StaticResource boolToVisibilityConverter}}" 
Tag="{Binding}" ToolTip="{Binding  menuTooltip}"  IsEnabled="{Binding isEnabled}"  >

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM