WPF TabControl
のコンテンツをControlTemplate
で作成している場合、 UI Automation で コントロール内のエレメントを検索できない
<TabControl>
<TabControl.Resources>
<Style TargetType="TabControl">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="TabControl">
<StackPanel Orientation="Vertical">
<TabPanel IsItemsHost="True"/>
<ContentPresenter Content="{Binding SelectedContent, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" />
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</TabControl.Resources>
<TabItem x:Name="TabItem1" Header="TabItem1">
<TextBlock Text="TextBlock @ TabIte1" />
</TabItem>
</TabControl>
ContentPresenterに名前を設定する
<ContentPresenter x:Name="PART_SelectedContentHost" Content="{Binding SelectedContent, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" />
まとめ
ControlTemplate
、でカスタマイズしている場合は、ContentPresenter
に名前付きパーツの名前を設定する