使网格宽度与DataTemplate中的listview相同

时间:2014-09-18 13:19:49

标签: c# wpf listview grid datatemplate

我希望网格宽度与listview宽度相同,现在它看起来像:

enter image description here

但我想达到的目的是: enter image description here

代码:

<DataTemplate x:Key="Shared">
            <ListView Name="_lv"  ItemsSource="{Binding lista}">
                <ListView.ItemContainerStyle>
                    <Style TargetType="ListViewItem">
                        <Setter Property="HorizontalContentAlignment" Value="Stretch" />
                    </Style>
                </ListView.ItemContainerStyle>
                <ListView.ItemTemplate>
                    <DataTemplate>
                        <Grid>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="*"/>
                                <ColumnDefinition Width="*"/>
                            </Grid.ColumnDefinitions>
                            <Label Grid.Column="0" Content="{Binding name}"/>
                            <Grid Grid.Column="1">
                                <WrapPanel Orientation="Horizontal">
                                    <telerik:RadNumericUpDown Name="minRNUD" Value="0" />
                                    <Button Width="40" Height="40" Style="{StaticResource MButton}" Margin="0" Padding="1">
                                        <Button.Content>
                                            <Image Source="/myProject;component/Pictures/clr.png" Width="30" Height="30" HorizontalAlignment="Center" VerticalAlignment="Center" />
                                        </Button.Content>
                                    </Button>
                                </WrapPanel>
                            </Grid>
                        </Grid>
                    </DataTemplate>
                </ListView.ItemTemplate>
            </ListView>
        </DataTemplate>

有什么想法吗? 谢谢!

1 个答案:

答案 0 :(得分:1)

HorizontalContentAlignment属性确定内容的水平对齐

在列表项上设置Horizo​​ntalContentAlignment可能会影响它的内容而不是项目本身

但是在ListBox,ListView等父项控件上设置相同会影响其内容的对齐方式或者可以说项目

只需将Horizo​​ntalContentAlignment属性移动到父ItemsControl(ListBox,ListView等)即可。将确保物品的所需对齐。

只需将属性HorizontalContentAlignment="Stretch"添加到所需项目的父项控件即可。