0

リストビューを含む境界線を持つフォームがあります。C# コード内で、境界線の高さが値に応じて変更されます。現在、境界線の高さは問題なく変更されていますが、境界線と同じ高さになるようにリストビューを更新するにはどうすればよいですか? ここに私のxmlがあります:

 <DataTemplate x:Key="PackageTemplate">
        <Border x:Name="PackageBorder" BorderBrush="Black" BorderThickness="2" Margin="10" Padding="0" Width="100" >
            <Border.Style>
                <Style>
                    <Style.Triggers>
                        <DataTrigger Binding="{Binding Path=Status}" Value="1">
                            <Setter Property="Border.Background" Value="#FF999696"/>
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Path=Status}" Value="0">
                            <Setter Property="Border.Background" Value="#FFE4E4E4"/>
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Path=Layout}" Value="0">
                            <Setter Property="Border.Height" Value="100"/>
                        </DataTrigger>
                        <DataTrigger Binding="{Binding Path=Layout}" Value="1">
                            <Setter Property="Border.Height" Value="200"/>
                        </DataTrigger>
                    </Style.Triggers>                           
                </Style>
            </Border.Style>
            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition Height="70"/>
                    <RowDefinition Height="*"/>
                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="Auto"/>
                </Grid.ColumnDefinitions>

                <ListView  Grid.Row="0" Grid.Column="0" Background="{x:Null}" x:Name="List" ItemsSource="{Binding Path=Collection}" ItemTemplate="{DynamicResource ChipTemplate}" 
                          ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Disabled" BorderThickness="0" BorderBrush="{x:Null}" Foreground="Black" VerticalAlignment="Top" Width="90" >
                    <ListView.ItemsPanel>
                        <ItemsPanelTemplate>
                            <WrapPanel Orientation="Horizontal" VerticalAlignment="Center" />
                        </ItemsPanelTemplate>
                    </ListView.ItemsPanel>
                </ListView>

                <Label Grid.Row="1" Grid.Column="0" Content="{Binding Path=Location}" FontSize="15" FontFamily="Arial" Foreground="Black" Background="{x:Null}" VerticalAlignment="Bottom" HorizontalAlignment="Left"></Label>                  
            </Grid>
        </Border>            
    </DataTemplate>
4

1 に答える 1

2

ListViewのXaml高さを設定して 70 に設定<RowDefinition Height="70"/>し、幅を 90 に設定したListView場合、それ以上大きくなることはありません<RowDefinition Height="70*"/> 。高さが大きくなるように設定し、Width="90" を削除するか、おそらく使用する必要があります。 DockPanel.

    <DockPanel>
        <Label DockPanel.Dock="Bottom" Content="{Binding Path=Location}" FontSize="15" FontFamily="Arial" Foreground="Black"  />
        <ListView x:Name="List" ItemsSource="{Binding Path=Collection}" ItemTemplate="{DynamicResource ChipTemplate}" 
                      ScrollViewer.HorizontalScrollBarVisibility="Disabled" ScrollViewer.VerticalScrollBarVisibility="Disabled" BorderThickness="0" BorderBrush="{x:Null}" Foreground="Black" >
            <ListView.ItemsPanel>
                <ItemsPanelTemplate>
                    <WrapPanel Orientation="Horizontal" VerticalAlignment="Center" />
                </ItemsPanelTemplate>
            </ListView.ItemsPanel>
        </ListView>
    </DockPanel>
于 2013-05-14T01:10:12.487 に答える