TabControl.SelectedContent プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
現在選択されている TabItem のコンテンツを取得します。
public:
property System::Object ^ SelectedContent { System::Object ^ get(); };
public object SelectedContent { get; }
member this.SelectedContent : obj
Public ReadOnly Property SelectedContent As Object
プロパティ値
現在選択されている TabItem のコンテンツ。 既定値は、null
です。
例
次の例では、 プロパティを SelectedContent 使用して、現在選択されている 内の を取得 Person
します TabItem。
if (tabCtrl1.SelectedContent is Person)
{
Person selectedPerson = tabCtrl1.SelectedContent as Person;
StringBuilder personInfo = new StringBuilder();
personInfo.Append(selectedPerson.FirstName);
personInfo.Append(" ");
personInfo.Append(selectedPerson.LastName);
personInfo.Append(", ");
personInfo.Append(selectedPerson.HomeTown);
MessageBox.Show(personInfo.ToString());
}
If TypeOf tabCtrl1.SelectedContent Is Person Then
Dim selectedPerson As Person = tabCtrl1.SelectedContent
Dim personInfo As StringBuilder = New StringBuilder()
personInfo.Append(selectedPerson.FirstName)
personInfo.Append(" ")
personInfo.Append(selectedPerson.LastName)
personInfo.Append(", ")
personInfo.Append(selectedPerson.HomeTown)
MessageBox.Show(personInfo.ToString())
End If
次の例では、 の を ControlTemplate 作成します TabControl。 プロパティを ContentSource "SelectedContent" に設定すると、および SelectedContentTemplateSelector プロパティへのエイリアスがSelectedContentSelectedContentTemplate作成されます。
<Style TargetType="{x:Type TabControl}">
<Setter Property="OverridesDefaultStyle"
Value="True" />
<Setter Property="SnapsToDevicePixels"
Value="True" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TabControl}">
<Grid KeyboardNavigation.TabNavigation="Local">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Disabled">
<Storyboard>
<ColorAnimationUsingKeyFrames Storyboard.TargetName="Border"
Storyboard.TargetProperty="(Border.BorderBrush).
(SolidColorBrush.Color)">
<EasingColorKeyFrame KeyTime="0"
Value="#FFAAAAAA" />
</ColorAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<TabPanel x:Name="HeaderPanel"
Grid.Row="0"
Panel.ZIndex="1"
Margin="0,0,4,-1"
IsItemsHost="True"
KeyboardNavigation.TabIndex="1"
Background="Transparent" />
<Border x:Name="Border"
Grid.Row="1"
BorderThickness="1"
CornerRadius="2"
KeyboardNavigation.TabNavigation="Local"
KeyboardNavigation.DirectionalNavigation="Contained"
KeyboardNavigation.TabIndex="2">
<Border.Background>
<LinearGradientBrush EndPoint="0.5,1"
StartPoint="0.5,0">
<GradientStop Color="{DynamicResource ContentAreaColorLight}"
Offset="0" />
<GradientStop Color="{DynamicResource ContentAreaColorDark}"
Offset="1" />
</LinearGradientBrush>
</Border.Background>
<Border.BorderBrush>
<SolidColorBrush Color="{DynamicResource BorderMediumColor}"/>
</Border.BorderBrush>
<ContentPresenter x:Name="PART_SelectedContentHost"
Margin="4"
ContentSource="SelectedContent" />
</Border>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
次の例では、SelectedContentTemplateBinding マークアップ拡張機能をContentPresenter.Content使用して プロパティを プロパティにバインドします。
<ContentPresenter Content="{TemplateBinding SelectedContent}"
ContentTemplate="{TemplateBinding SelectedContentTemplate}"
ContentTemplateSelector="{TemplateBinding SelectedContentTemplateSelector}" />
注釈
このプロパティは、タブの選択が Content 変更されたときにアクティブな TabItem の を参照するように更新されます。
の TabControl ではControlTemplate、 プロパティをContentPresenter.ContentSource使用して、 プロパティをContentPresenter.Contentこのプロパティにバインドします。 のTabControl新ControlTemplateしい を作成する場合は、 プロパティを "SelectedContent" に設定ContentPresenter.ContentSourceするか、TemplateBinding Markup Extension を使用して、 プロパティをこのプロパティにバインドContentPresenter.Contentしてください。
XAML 属性の使用方法
<object property="{TemplateBinding SelectedContent}"/>
依存プロパティ情報
識別子フィールド | SelectedContentProperty |
に設定されたメタデータ プロパティ true |
なし |
適用対象
.NET