我试图为我的wpf应用程序中的一个业务对象定义一个dataTemplate,它的一个集合被绑定到一个ListBox。wpf边界控制跨越listboxItem的宽度
<UserControl.Resources>
<DataTemplate x:Key="ResizedItemsDataTemplate" DataType="{x:Type resizer:ResizeMonitorItem}">
<Border x:Name="bdr" BorderBrush="Blue"
BorderThickness="1"
CornerRadius="2"
Width="auto"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch">
<Grid Margin="2">
<Grid.RowDefinitions>
<RowDefinition Height="14"></RowDefinition>
<RowDefinition Height="14"></RowDefinition>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" Text="{Binding SaveAsFileName}"></TextBlock>
<TextBlock Grid.Row="1" Text="{Binding ResizedImageFilePath}"></TextBlock>
</Grid>
</Border>
</DataTemplate>
</UserControl.Resources>
<Grid VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Margin="0">
<Border BorderThickness="0,0,0,5" BorderBrush="DarkGray" >
<ListBox x:Name="ListBoxResizeItems" ItemsSource="{Binding Path=ResizeItems}" BorderThickness="0" ItemTemplate="{DynamicResource ResizedItemsDataTemplate}">
</ListBox>
</Border>
</Grid>
我怎样才能用X定义的边界:名称= BDR跨越每一个列表框项的全宽?目前它只能跨越其中的文本块,而不需要填充listboxitem的全部宽度,并且对于每个listboxitem也是不同的。
尼斯。不知道那个属性。太糟糕了,默认值是Left而不是Stretch,这导致了这种行为。 – Gishu 2009-01-20 11:48:41
真棒,我有完全相同的问题,这解决了它。 – vargonian 2010-11-01 23:37:22