Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 选项卡标题和选项卡内容之间的用户控件_Wpf - Fatal编程技术网

Wpf 选项卡标题和选项卡内容之间的用户控件

Wpf 选项卡标题和选项卡内容之间的用户控件,wpf,Wpf,我不知道我想做的是否可能 但是我试图在选项卡标题和选项卡内容之间放置一个用户控件,但是我无法按照我的要求放置边距 这是一个样式器,我将其应用于我的所有选项卡控件 <Style x:Key="TabItemStyle" TargetType="{x:Type TabItem}"> <Setter Property="FontFamily" Value="Trebuchet MS"/> <Setter Property="FontSiz

我不知道我想做的是否可能

但是我试图在
选项卡标题
选项卡内容
之间放置一个
用户控件
,但是我无法按照我的要求放置边距

这是一个
样式器
,我将其应用于我的所有
选项卡控件

 <Style x:Key="TabItemStyle" TargetType="{x:Type TabItem}">
        <Setter Property="FontFamily" Value="Trebuchet MS"/>
        <Setter Property="FontSize" Value="13"/>
        <Setter Property="Foreground" Value="#FFFFFFFF"/>
        <Setter Property="Header" Value="{Binding Content.DataContext.HeaderInfo, RelativeSource={RelativeSource Self}}"  />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type TabItem}">
                    <Grid Width="Auto" Height="Auto" x:Name="TabItemRoot" Margin="10,0,5,0">
                        <ContentPresenter Margin="10,5,0,5" x:Name="Content" ContentSource="Header" RecognizesAccessKey="True"/>
                        <Border x:Name="border" Height="Auto" Padding="0,0,0,0" Opacity="0">
                            <Border.Background>
                                <RadialGradientBrush>
                                    <GradientStop Color="#A3FFFFFF" Offset="0"/>
                                    <GradientStop Color="#00FFFFFF" Offset="1"/>
                                </RadialGradientBrush>
                            </Border.Background>
                        </Border>
                    </Grid>
                    <ControlTemplate.Triggers>
                        <Trigger Property="IsSelected" Value="true">
                            <Setter TargetName="border" Property="Opacity" Value="1"/>
                            <Setter TargetName="Content" Property="Opacity" Value="1"/>
                        </Trigger>
                        <Trigger Property="IsSelected" Value="false">
                            <Setter TargetName="Content" Property="Opacity" Value="0.5"/>
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
</Style>


每当我设置边距时,它都会移动其中的内容,但不会移动控件。

您可能希望为TabControl定义ControlTemplate,而不仅仅是为具有以下内容的项目:

    <TabControl>
        <TabControl.Style>
            <Style TargetType="TabControl">
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="TabControl">
                            <StackPanel>
                                <TabPanel IsItemsHost="True" />
                                <Border Margin="10" BorderBrush="Blue" Background="Green" Width="100" Height="100" />
                                <ContentPresenter ContentSource="SelectedContent" />
                            </StackPanel>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
        </TabControl.Style>

编辑: 我仍然不知道您想要做什么,但是要在TabHeader和TabContent之间放置任何内容,您可以使用如下内容作为TabItems的模板:

<ControlTemplate TargetType="TabItem">
    <Border BorderBrush="Black" BorderThickness="5">
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition />
                <RowDefinition />
            </Grid.RowDefinitions>

            <ContentPresenter ContentSource="Header" Grid.Row="0" />

            <TextBlock Grid.Row="1">Usercontrol goes here</TextBlock>
        </Grid>
    </Border>
</ControlTemplate>

用户控制在这里

请检查更新问题您到底想做什么?要将usercontrol插入到什么位置?介于
选项卡标题
选项卡内容
之间。