选择选项卡时设置图像

发布于 2024-12-26 03:30:20 字数 2120 浏览 1 评论 0原文

我是 wpf 新手,我不知道在选择选项卡项时应该如何设置图像。

我写了一个样式,但它不起作用。它向我展示了任何东西......

<Style TargetType="TabItem">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="TabItem">
                <Grid>
                   <StackPanel Orientation="Horizontal">
                       <HeaderedItemsControl Name="img"  >
                       </HeaderedItemsControl>
                   </StackPanel>
                </Grid>
             <ControlTemplate.Triggers>
             <Trigger Property="IsSelected" Value="True">
                   <Setter Property="Visibility" TargetName="img" Value="Visible"/>    
             </Trigger>      
             <Trigger Property="IsSelected" Value="False">
                   <Setter Property="Visibility" TargetName="img" Value="Hidden"/>
             </Trigger>
         </ControlTemplate.Triggers>      
       </ControlTemplate>     
     </Setter.Value>      
   </Setter>     
 </Style>     

对于选项卡控件,我编写了代码:

 <TabControl Name="tabControl1"  
             HorizontalAlignment="Left"                  
             VerticalAlignment="Top" 
             Height="311" 
             Width="503">
    <TabItem Name="tabItem1" Background="Red"  >                
            <TabItem.Header>
                <Grid>
                    <TextBlock Text="   First" Width="100" Margin="-2,33,4,16" />
                    <Image  Name="img" Source="menu.png" Height="20" Margin="0,60,0,0" />
                </Grid>

            </TabItem.Header>
            <Grid>

            <TextBox Name="denumire" Margin="31,20,169,67" Height="20" Width="60"/>
            </Grid>

        </TabItem>
    <TabItem Name="tabItem2" Header="tabItem2" Background="Red">
        </TabItem>
    </TabControl>

I am new with the wpf and I cannot figure out how should I set an image when a tab item is selected.

I write a style but it doesnt work. It shows me anything...

<Style TargetType="TabItem">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="TabItem">
                <Grid>
                   <StackPanel Orientation="Horizontal">
                       <HeaderedItemsControl Name="img"  >
                       </HeaderedItemsControl>
                   </StackPanel>
                </Grid>
             <ControlTemplate.Triggers>
             <Trigger Property="IsSelected" Value="True">
                   <Setter Property="Visibility" TargetName="img" Value="Visible"/>    
             </Trigger>      
             <Trigger Property="IsSelected" Value="False">
                   <Setter Property="Visibility" TargetName="img" Value="Hidden"/>
             </Trigger>
         </ControlTemplate.Triggers>      
       </ControlTemplate>     
     </Setter.Value>      
   </Setter>     
 </Style>     

For the tab control I wrote the code:

 <TabControl Name="tabControl1"  
             HorizontalAlignment="Left"                  
             VerticalAlignment="Top" 
             Height="311" 
             Width="503">
    <TabItem Name="tabItem1" Background="Red"  >                
            <TabItem.Header>
                <Grid>
                    <TextBlock Text="   First" Width="100" Margin="-2,33,4,16" />
                    <Image  Name="img" Source="menu.png" Height="20" Margin="0,60,0,0" />
                </Grid>

            </TabItem.Header>
            <Grid>

            <TextBox Name="denumire" Margin="31,20,169,67" Height="20" Width="60"/>
            </Grid>

        </TabItem>
    <TabItem Name="tabItem2" Header="tabItem2" Background="Red">
        </TabItem>
    </TabControl>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

风吹雪碎 2025-01-02 03:30:20

在您的样式中,将 HeaderedItemsControl 更改为如下所示:

<HeaderedItemsControl>
    <TextBlock Text="{TemplateBinding Header}" Width="100"/>
    <Image x:Name="img" Source="menu.png" Height="20" />
</HeaderedItemsControl>

并删除 TabControl 中的整个 部分。

In your style, change the HeaderedItemsControl to something like this:

<HeaderedItemsControl>
    <TextBlock Text="{TemplateBinding Header}" Width="100"/>
    <Image x:Name="img" Source="menu.png" Height="20" />
</HeaderedItemsControl>

and remove the entire <TabItem.Header> section in your TabControl.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文