2

Employeという名前のクラスを作成しました。ListBoxWPFコントロールのソースとして設定した従業員コレクション。私はItemTemplateのためにそのようなテンプレートを書きました:

<ResourceDictionary>
    <DataTemplate x:Key="tmpEmploye">
        <Border BorderThickness="3" BorderBrush="Gray" CornerRadius="5" 
                HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
            <StackPanel Orientation="Vertical">
                <StackPanel Orientation="Horizontal">
                    <TextBlock Text="{Binding Path=Surname}" 
                               HorizontalAlignment="Stretch" Margin="2" 
                               FontWeight="Bold" TextWrapping="Wrap"/>
                    <TextBlock Text="{Binding Path=Name}" 
                               HorizontalAlignment="Stretch" Margin="2"/>
                    <TextBlock Text="{Binding Path=Patronymic}" 
                               HorizontalAlignment="Stretch" Margin="2" 
                               TextWrapping="Wrap"/>
                </StackPanel>
                <TextBlock Text="{Binding Path=Post}" Foreground="Gray" 
                           HorizontalAlignment="Stretch" Margin="2" 
                           FontStyle="Italic" TextWrapping="Wrap"/>
            </StackPanel>
        </Border>                               
    </DataTemplate>            
</ResourceDictionary>

各アイテムには境界線があります。境界線は、ListBoxの幅に応じて拡張する必要があります。Borderに設定HorizontalAlignment="Stretch"しましたが、思い通りに発生しません。

ここに画像の説明を入力してください

どうすれば修正できますか?

4

1 に答える 1

4

これを試して:

<ListBox Name="lbEmployees" ItemTemplate="{StaticResource tmpEmploye}"
                 HorizontalContentAlignment="Stretch"
                 />
于 2012-10-27T09:37:15.430 に答える