WPF ListBox:垂直滚动条和焦点

时间:2016-01-28 10:11:37

标签: wpf listbox wrappanel

我对ListBox / WrapPanel有两个问题。

首先,我的设置: 在XAML中,我有一个ListBox。 ListBox内部是一个WrapPanel。我以编程方式将ListBoxItems添加到WrapPanel。

问题一

ListBoxItems [带有Image和TextBlock的StackPanel]从左到右,从上到下填充。但是,如果ListBoxItems多于ListBox中的空格,则不会出现垂直滚动条。以下XAML代码使垂直滚动条可见。但是,它仍然被禁用:

<ListBox Name="li1StandortLinks" Background="Transparent" MaxHeight="300" ScrollViewer.VerticalScrollBarVisibility="Visible">
    <WrapPanel Name="wp1StandortLinks" ItemHeight="80" ItemWidth="150" Width="755" />
</ListBox>

如何在需要时获得功能垂直滚动条?

问题二

当单击ListBox而不是ListBoxItem [例如,在其中两个之间]时,整个ListBox的背景以蓝色突出显示。最初背景是透明的,即使点击ListBox本身也应该保持这样。捕获Click-Event并将背景设置回透明似乎无济于事。蓝色突出显示颜色确实消失,但不是ListBox背景返回透明,它仍然是灰色的。 我可以更改样式,以便在单击ListBox时颜色根本不会改变吗?我从来没有真正改变过WPF的风格,所以我需要一个精确的解释。

1 个答案:

答案 0 :(得分:1)

这可能适用于问题一:

insert into db1.tbl(id,col1,col2)
select id,col1,col2 from db2.tbl;

问题2: 这可能也有效(改变列表框的样式)

    <ListBox Name="li1StandortLinks" Background="Transparent" MaxHeight="300" ScrollViewer.VerticalScrollBarVisibility="Visible">
   <ListBox.ItemsPanel>
        <ItemsPanelTemplate>
            <WrapPanel IsItemsHost="True" Orientation="Horizontal"  />
        </ItemsPanelTemplate>
    </ListBox.ItemsPanel>
</ListBox>