Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.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# WPF选项卡项-图像绑定 问题_C#_Wpf_Xaml_Tabcontrol_Xaml Binding - Fatal编程技术网

C# WPF选项卡项-图像绑定 问题

C# WPF选项卡项-图像绑定 问题,c#,wpf,xaml,tabcontrol,xaml-binding,C#,Wpf,Xaml,Tabcontrol,Xaml Binding,我正在尝试将图像从我的TabItem绑定到我的TabControlResource部分,但我似乎无法做到这一点。标题文本很好,因为TabItem有一个标题属性,但没有任何可以添加图像的内容 代码 以下是我的TabControl代码的全部内容: <TabControl Margin="10" BorderBrush="#c83620" BorderThickness="4" Background="#e37e6e" FontFamily="Segoe UI" FontSize="14" &

我正在尝试将图像从我的
TabItem
绑定到我的
TabControlResource
部分,但我似乎无法做到这一点。标题文本很好,因为
TabItem
有一个标题属性,但没有任何可以添加图像的内容

代码
以下是我的TabControl代码的全部内容:

<TabControl Margin="10" BorderBrush="#c83620" BorderThickness="4" Background="#e37e6e" FontFamily="Segoe UI" FontSize="14" >
        <TabControl.Resources>
            <Style TargetType="TabItem">
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="TabItem">
                            <Border Name="Border" BorderThickness="4,4,4,0" BorderBrush="#c83620" CornerRadius="4,4,0,0" Padding="6,4,6,4" Margin="6,0">
                                <StackPanel Orientation="Horizontal" Margin="6,4,6,4">
                                    <Image Name="img" Height="15" Width="15" Margin="0,0,4,0" Source="../Images/delete.png" />
                                    <Label Grid.Row="0" Name="Text" Foreground="Black" Content="{TemplateBinding Header}"/>
                                </StackPanel>
                            </Border>
                            <ControlTemplate.Triggers>
                                <Trigger Property="IsSelected" Value="True">
                                    <Setter TargetName="Border" Property="Background" Value="#e37e6e" />
                                    <Setter TargetName="Text" Property="TextBlock.Foreground" Value="White"/>
                                    <Setter TargetName="Text" Property="TextBlock.FontWeight" Value="Bold"/>
                                    <Setter TargetName="Border" Property="Margin" Value="1,1,1,-4"/>
                                    <Setter TargetName="Border" Property="Padding" Value="2"/>
                                </Trigger>
                                <Trigger Property="IsSelected" Value="False">
                                    <Setter TargetName="Text" Property="TextBlock.Foreground" Value="#c83620"/>
                                </Trigger>
                            </ControlTemplate.Triggers>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
        </TabControl.Resources>
        <TabItem Margin="-3,0,0,0" Header="Login">
        </TabItem>
        <TabItem Header="General" >
                <Label Content="Content goes here..." />
        </TabItem>
        <TabItem Header="Security" />
        <TabItem Header="Details" />
    </TabControl>

但是我希望每个
选项卡项都有不同的图像。我可以将图像绑定到
选项卡项上的哪个位置以获得正确的图像?

您可以使用模板的其他属性,例如
标记
属性。所以图像绑定应该是这样的

<Image Name="img" Height="15" Width="15" Margin="0,0,4,0" 
  Source="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path=Tag.Source}" />
这篇文章()在类似的情况下帮助了我。其思想是通过AttachedProperty将参数(图像uri)传递给模板。或者只使用
标记
属性(属性)。我需要不止一个参数,并为它们使用了AttachedProperties
<Image Name="img" Height="15" Width="15" Margin="0,0,4,0" 
  Source="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path=Tag.Source}" />
<Image x:Key="testImage" Source="/WPFTest;component/Images/Reload.png" />
<TabItem Header="General" Tag="{StaticResource testImage}" >