在WPF中的ListBox中选择整个项目

时间:2011-02-21 22:24:45

标签: wpf listbox wpf-controls listboxitem

我一直在谷歌搜索类似于FullRowSelect的列表视图。目前我的列表框项目只有在您点击正在被内容(如文本块,项目等)占用的部分时才可选择。这意味着“可点击”区域取决于条目的持续时间,但理想情况下我是我希望能够点击定义每个项目的矩形内的任何地方。

我希望这是有道理的

1 个答案:

答案 0 :(得分:1)

您需要调整ItemContainerStyle中的ListBox,以使其HorizontalContentAlignment设置为StretchLeft。您仍然可以根据需要在ListBoxItem内对齐内容。

    <Window.Resources>
        <Style x:Key="Stretched" TargetType="{x:Type ListBoxItem}">
            <Setter Property="HorizontalContentAlignment" Value="Stretch" />
        </Style>
    </Window.Resources>

    <Grid>
        <ListBox ItemContainerStyle="{StaticResource Stretched}">
            <ListBox.Items>
                <ListBoxItem>
                    <Grid>
                        <TextBox HorizontalAlignment="Left" Height="25" Width="100"/>
                    </Grid>
                </ListBoxItem>
                <ListBoxItem>
                    <Grid>
                        <TextBox HorizontalAlignment="Left" Height="25" Width="100"/>
                    </Grid>
                </ListBoxItem>
            </ListBox.Items>
        </ListBox>
    </Grid>