Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.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

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
C# 在XAML中为TabHeader设置鼠标悬停事件/触发器_C#_Wpf_Vb.net_Xaml - Fatal编程技术网

C# 在XAML中为TabHeader设置鼠标悬停事件/触发器

C# 在XAML中为TabHeader设置鼠标悬停事件/触发器,c#,wpf,vb.net,xaml,C#,Wpf,Vb.net,Xaml,以下XAML代码满足您的测试需求 <Window x:Class="MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Name="MainWindow" Title="MainWindow" Width="600" Height="300"> <Grid&

以下XAML代码满足您的测试需求

<Window x:Class="MainWindow" 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
x:Name="MainWindow" Title="MainWindow"
Width="600" Height="300">
<Grid>
    <TabControl>
        <TabControl.Resources>
            <Style TargetType="TabItem">
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="TabItem">
                            <Border Name="Border" BorderThickness="1,1,1,0" Margin="2,0,2,0">
                                <ContentPresenter ContentSource="Header"/>
                            </Border>
                            <ControlTemplate.Triggers>
                                <Trigger Property="IsMouseOver" Value="True">
                                    <Setter TargetName="Border" Property="Cursor" Value="Hand" />
                                    <Setter TargetName="Border" Property="TextElement.FontWeight" Value="Bold" />
                                </Trigger>
                            </ControlTemplate.Triggers>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
        </TabControl.Resources>

        <TabItem>
            <TabItem.Header>
                <TextBlock Margin="5,2,5,2" TextAlignment="Center">
                    London
                </TextBlock>
            </TabItem.Header>
        </TabItem>

        <TabItem>
            <TabItem.Header>
                <TextBlock Margin="5,2,5,2" TextAlignment="Center">
                    Paris
                </TextBlock>
            </TabItem.Header>
        </TabItem>

        <TabItem>
            <TabItem.Header>
                <TextBlock Margin="5,2,5,2" TextAlignment="Center">
                    Tokyo
                </TextBlock>
            </TabItem.Header>
        </TabItem>

    </TabControl>
</Grid>
</Window>
有什么建议吗

如何在XAML中为TabHeader设置鼠标悬停事件/触发器?

尝试以下操作:

<Setter TargetName="Border" Property="TextElement.FontWeight" Value="Bold" />
<Setter TargetName="Border" Property="TextElement.FontWeight" Value="Bold" />
<Setter Property="FontWeight" Value="Bold" />
<TabControl>
    <TabControl.Resources>
        <Style TargetType="TabItem">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="TabItem">
                        <Border Name="Border" BorderThickness="1,1,1,0" Margin="2,0,2,0">
                            <ContentPresenter ContentSource="Header"/>
                        </Border>
                        <ControlTemplate.Triggers>
                            <Trigger Property="IsMouseOver" Value="True">
                                <Setter TargetName="Border" Property="Cursor" Value="Hand" />
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>

        <DataTemplate x:Key="HeaderTemplate">
            <TextBlock Margin="5,2,5,2" TextAlignment="Center" Text="{Binding}">
                <TextBlock.Style>
                    <Style TargetType="TextBlock">
                        <Style.Triggers>
                            <DataTrigger Binding="{Binding IsMouseOver, RelativeSource={RelativeSource AncestorType=TabItem}}" Value="True">
                                <Setter Property="FontWeight" Value="Bold" />
                            </DataTrigger>
                        </Style.Triggers>
                    </Style>
                </TextBlock.Style>
            </TextBlock>
        </DataTemplate>
    </TabControl.Resources>

    <TabItem Header="London" HeaderTemplate="{StaticResource HeaderTemplate}">
    </TabItem>

    <TabItem Header="Paris" HeaderTemplate="{StaticResource HeaderTemplate}">
    </TabItem>

    <TabItem Header="Tokyo" HeaderTemplate="{StaticResource HeaderTemplate}">
    </TabItem>

</TabControl>