none
请问为何这里Background不起作用? RRS feed

全部回复

  • Hi,

    你设置的背景色是当TabItem没有选中时的颜色,因为你只有一个TabItem, 默认是选中的,所有背景色没有显示。

    你可以尝试设置Header模板: 

    第一个tab就是你的那种情况。

    第二个TabItem设置Header:

     <TabItem Height="40" Width="70">
                    <TabItem.Header>
                        <Grid Height="40" Width="70">
                            <Image x:Name="tabItemImg" Height="40" Width="70" Stretch="Fill" Source="/Source/Head_Portrait.jpg" />
                            <TextBlock Height="20" Width="50" Text="test2" TextAlignment="Center"/>
                        </Grid>
                    </TabItem.Header>
                </TabItem>

    第三个TabItem:

    <TabControl.Resources>
                    <DataTemplate x:Key="tabItemGeneralHeaderTemplate">
                        <Grid>
                            <Image Name="tabGeneralImg" Height="40" Width="70"  Stretch="Fill" Source="/Source/90f58PIC5tv_1024.png" />
                            <TextBlock Height="20" Width="50" Text="test3" TextAlignment="Center"/>
                        </Grid>
                        <DataTemplate.Triggers>
                            <DataTrigger Binding="{Binding Path=IsSelected,RelativeSource={RelativeSource TemplatedParent}}" Value="True">
                                <Setter TargetName="tabGeneralImg" Property="Source"  Value="/Source/Head_Portrait.jpg"/>
                            </DataTrigger>
                        </DataTemplate.Triggers>
                    </DataTemplate>
                </TabControl.Resources>
              <TabItem HeaderTemplate="{StaticResource tabItemGeneralHeaderTemplate}">

    Best Regards,

    Bob


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.


    2017年6月20日 8:55
    版主
  • 你好,

    问题解决了吗?

    如果您需要进一步的帮助,我们将很乐意为您提供帮助。

    如果您的问题解决了,能否请你帮助标记为答案。这将有利于社区的其他成员快速查找。

    感谢您的理解与合作。

    Best Regards,

    Bob


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2017年6月23日 1:13
    版主
  • Hi,

    你设置的背景色是当TabItem没有选中时的颜色,因为你只有一个TabItem, 默认是选中的,所有背景色没有显示。

    你可以尝试设置Header模板: 

    第一个tab就是你的那种情况。

    第二个TabItem设置Header:

     <TabItem Height="40" Width="70">
                    <TabItem.Header>
                        <Grid Height="40" Width="70">
                            <Image x:Name="tabItemImg" Height="40" Width="70" Stretch="Fill" Source="/Source/Head_Portrait.jpg" />
                            <TextBlock Height="20" Width="50" Text="test2" TextAlignment="Center"/>
                        </Grid>
                    </TabItem.Header>
                </TabItem>

    第三个TabItem:

    <TabControl.Resources>
                    <DataTemplate x:Key="tabItemGeneralHeaderTemplate">
                        <Grid>
                            <Image Name="tabGeneralImg" Height="40" Width="70"  Stretch="Fill" Source="/Source/90f58PIC5tv_1024.png" />
                            <TextBlock Height="20" Width="50" Text="test3" TextAlignment="Center"/>
                        </Grid>
                        <DataTemplate.Triggers>
                            <DataTrigger Binding="{Binding Path=IsSelected,RelativeSource={RelativeSource TemplatedParent}}" Value="True">
                                <Setter TargetName="tabGeneralImg" Property="Source"  Value="/Source/Head_Portrait.jpg"/>
                            </DataTrigger>
                        </DataTemplate.Triggers>
                    </DataTemplate>
                </TabControl.Resources>
              <TabItem HeaderTemplate="{StaticResource tabItemGeneralHeaderTemplate}">

    Best Regards,

    Bob


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.


    你好,想請問,我使用你的第三個方法,在別的的TabItem要怎麼更改TextBlock內的文字?這樣每個TabItem都是一樣文字

    2017年11月15日 0:33
  • 可以麻煩你幫我解答一下嗎?謝謝
    2017年11月15日 3:20
  • 你这个文字不能直接写在模版里面啊,应该用{TemplateBinding Header},这样你在窗体的代码中:

    <TabItem Header="测试"/>

    那么这个“测试”就会显示你的模版指定地方上


    da jia hao!

    • 已建议为答案 魏高個 2017年11月16日 8:25
    2017年11月15日 7:34