2

我有一个 WPF 选项卡控件。它里面是一个列表框,里面装满了一些项目。(图中只表示了一项):

未选择的项目

该项目具有橙色渐变。

一旦我用鼠标选择它,这里就是同一个项目:

未选择的项目

我感兴趣的领域是我用红色圈出的蓝色的左边小条子。我意识到这是我选择该项目的产物,它将整个项目涂成蓝色以表示这一点。但是您会注意到,除了左侧之外,这条蓝色条不位于任何边缘。

我的问题是:如何拉伸我的列表框项目的左侧,这样蓝色的条子就消失了,而列表框项目的橙色填充了该区域?我在我能想到的所有东西上都使用了边距和填充,但无济于事。

非常感谢任何提示、评论和建议!:)

编辑:根据要求,ItemTemplate 的 Xaml。

ItemTemplate 使用作为静态资源的 DataTemplate。数据模板如下所示:

    <DataTemplate x:Key="MyDataTemplate">
        <UserControl MouseDoubleClick="MouseDoubleClick_Event">
            <DockPanel Background="<the orange gradient>" LastChildFill="True">
                <Image Name="AnImage" Height="20" Width="20" Source=" Binding Path=ImagePath}"/>
                <Label Width="Auto">
                    <TextBlock Text="{Binding Path=TheName}" />
                </Label>
            </DockPanel>
        </UserControl>
    </DataTemplate>
4

2 回答 2

2

我很确定问题出在您的TabControl容器上,无论如何您都没有放置它,只需在Padding以下位置设置为零TabControl

<TabControl Margin="0" Padding="0">

TabControl的默认样式将 设置Padding为 4(这是您看到的内边距)并将Margin内容主机上的Padding绑定到TabControl.

于 2012-09-17T20:18:39.003 回答
-1

我找到了解决方案。如果我只是在我的 ListBox 上设置一个负的左边距,它会将 ListBoxItems 移动到该数量之上,并且条子消失。感谢大家的关注!

于 2012-09-18T12:52:19.570 回答