문제

내 WPF 응용 프로그램의 비즈니스 객체에 대한 데이터 템플릿을 정의하려고합니다.

<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 : name = bdr로 테두리를 정의하려면 어떻게해야합니까? 현재 그것은 내부의 텍스트 블록과 함께만 닿는다.

도움이 되었습니까?

해결책

이것은 아마도 ListBoxItems 자체가 ListBox의 전체 너비를 차지하지 않는 것과 관련이있을 것입니다. 추가 HorizontalContentAlignment="Stretch" 당신의 속성 ListBox 그리고 폭을 채우기 위해 개별 항목을 늘리는지 확인하십시오.

다른 팁

그것을 해결했습니다. 트릭은 목록 상자에 horizontalContentalIngment = "Stretch"를 설정하여 내용물이 내용에 맞지 않고 전체 너비를 스트레칭하도록하는 것입니다.

 <ListBox x:Name="ListBoxResizeItems" 
                HorizontalContentAlignment="Stretch"
                ItemsSource="{Binding Path=ResizeItems}" 
                BorderThickness="0"                                         
                ItemTemplate="{DynamicResource ResizedItemsDataTemplate}" >
        </ListBox>

Matt 죄송합니다. 제가이 게시물을 입력하면서 Thorugh에 답을 얻었습니다.

HorizontalContentalIngment는 내가 시도한 것과 비교하여 멋지고 깨끗한 솔루션입니다. 감사!

여기에 거의 효과가 있었지만 때로는 대화 상자를 더 넓고 영원히 더 넓게 만들었습니다.

Width="{Binding ActualWidth, 
        RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListBox}}}"
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top