바인딩 된 항목의 목록을 표시하려고합니다. 나는 datatemplate을 그리드로 커스터마이징했고, 화면의 오른쪽에 고착 된 오른쪽 컬럼 (고정 폭을 가짐)과 나머지 공간을 채우고 싶은 첫 번째 컬럼을 원한다. 일반적으로이 잘 작동하지만이 표를 ListView 안에 넣을 때 동작이 변경된 것 같습니다. 나는 하나의 제어의 경계가 다른 사람의 대 어디에 더 나은 아이디어를 얻기 위해 요소의 여러 가지의 배경에 색상을 넣어했습니다[UWP] [XAML] ListView 하위 항목이 전체 너비를 사용하지 않습니다.
<ListView x:Name="LView" Background="Green" Width="{Binding ElementName=ExtPropPage, Path=Width}" ItemsSource="{Binding CurrentSensor.ExtendedProperties, Mode=TwoWay}" Margin="5" HorizontalAlignment="Stretch" VerticalAlignment="Center">
<ListView.ItemTemplate>
<DataTemplate >
<Grid Background="BlueViolet" Width="{Binding ElementName=LView, Path=Width}" HorizontalAlignment="Center" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
<Grid Grid.Column="0" Background="Blue" HorizontalAlignment="Stretch">
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<TextBlock Grid.Row="0" FontWeight="Bold" FontSize="12" Text="{Binding KeyId, Mode=TwoWay, Converter={StaticResource ExtPropConverter}}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
<TextBlock Grid.Row="1" FontWeight="Normal" FontSize="10" Text="{Binding JsonValue, Mode=TwoWay}" TextWrapping="Wrap" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Grid>
<StackPanel Grid.Column="1" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Right" BorderBrush="{x:Null}" Background="Red">
<Button DataContext="{Binding}" ToolTipService.ToolTip="Edit" Click="ButtonHandler" BorderBrush="DarkGray" FontFamily="Segoe MDL2 Assets" Content="" Style="{StaticResource CircleButtonStyle}">
</Button>
<Button x:Name="DeviceCancelButton" ToolTipService.ToolTip="Delete" view:EventHandlers.Attach="Click" Click="DeleteExtProp" BorderBrush="DarkGray" FontFamily="Segoe MDL2 Assets" Content="" Style="{StaticResource CircleButtonStyle}">
</Button>
</StackPanel>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
: 다음은 내 ListView에 코드입니다. 필자가 지금까지 볼 수있는 것은 ListView가 전체 화면 너비를 채우도록 확장되었지만 목록보기 (격자)의 항목에 대해서는 열 1의 항목의 길이가 다양하다는 것입니다. 1 항목이 채워짐) 그리드의 공간 사용은 내가 Width="*"
을 사용하여 사용 가능한 공간을 확장하고 채우기를 지시해야한다는 사실에 의존하기보다는 그 안에있는 객체의 너비에 따라 달라집니다. 열 자체에 무엇이 있는지에 관계없이
HorizontalAlignment="Stretch"
의 사용에 관한 답변을 검색 한 후 많은 답변을 찾았습니다. 잘못된 장소에서 사용하고 있거나 다른 모든 것을 놓치고 있습니다.
참고 : 위의 코드는 필자가 시도한 유일한 해결책이라는 것을 나타내는 것은 아니며 너비와 정렬을 조정하려는 다양한 시도가이 게시물을 거대하게 만들 것이므로 희망적으로 누군가는 내가 가진 어떤 것이 아닌 대답을 가지고 있습니다. 그 결과는 성공하지 못했습니다.
도움 주셔서 감사합니다.
P. 어떤 대답에 보너스를 추가하기 위해, "onMouseOver"속성을 재정 의하여 listviewitem 위로 마우스를 가져 가면 배경 변경을 중단하고 싶습니다. 내가 이것들 위에 떠있을 때 특별한 일이 필요하지 않습니다. 이 같은 일 이후
는 마침내리스트 뷰 요소에 직접 추가 할 수있는 XAML 우연히 발견 자체 및 목록보기 내의 항목 늘이기. 나는 당신이 질문과 대답을 다시 읽고, 차이점을보기 위해 몇 가지 예를 가지고 놀아 볼 것을 제안합니다. – TekGiant
오, 재미 있습니다. 원본 게시물의 스냅 샷이 도움이 될 수 있습니까? 고마워 – raddevus