我想以動態的方式對齊我的ListView項目,而無需爲它們明確設置寬度。我正在得到的問題是對齊他們上面的屬性名稱。即屬性名稱應該在它下面有可樂,數量應該有整數值,小計應該有低於它的浮點數。 如果我調整我的Windows的ListView應該也改變與各自的屬性名稱,但它沒有。我已經嘗試過RelativePanel,ListBox,但是沒有明確的給出寬度,我希望它是動態的。列表視圖在UWP
<Grid Grid.Column="2" Margin="5,0,5,0">
<ScrollViewer VerticalScrollBarVisibility="Hidden">
<StackPanel>
<TextBlock Style="{StaticResource MyTextBlock1}" FontSize="20" HorizontalAlignment="Center" Margin="0,0,0,10">Order Summary</TextBlock>
<RelativePanel>
<TextBlock Name="ItemName" Style="{StaticResource MyTextBlock1}" FontSize="12">Name</TextBlock>
<TextBlock Name="ItemPrice" Style="{StaticResource MyTextBlock1}" FontSize="12" RelativePanel.AlignRightWithPanel="True">SubTotal</TextBlock>
<TextBlock Name="ItemQuantity" Style="{StaticResource MyTextBlock1}" Margin="0,0,10,0" FontSize="12" RelativePanel.LeftOf="ItemPrice">Quantity</TextBlock>
</RelativePanel>
<ListView ItemsSource="{x:Bind dumbList}">
<ListView.ItemTemplate>
<DataTemplate x:DataType="local:Dumb">
<Grid Width="200">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*"/>
<ColumnDefinition Width="1*"/>
<ColumnDefinition Width="1*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="{x:Bind name}"/>
<TextBlock Text="{x:Bind id}" Grid.Column="1"/>
<TextBlock Name="Quatity" Text="{x:Bind price}" Grid.Column="2"/>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</Grid>
嗨,亞歷山大!感謝您的回覆! 我面臨的問題是僅對齊。我希望我的排列方式與我在附圖中顯示的相同。只需要我的願望的一些間隔,並且它也應該是動態的,因爲相對面板是動態的。 我沒有問題在獲取數據到我的列表視圖。 –
嗨穆罕默德!我編輯了我的答案,我的第一個不太好。你可以在ListView的上面使用一個完全像你的DataTemplate一樣的Grid,就像一個固定的項目一樣。只要確保Grid和ListView具有相同的寬度。 – Alexandre
嗨亞歷山大謝謝你幫我解決這個問題,但仍然如我在我的主要問題中所說,我不想在我的代碼中使用EXPLICIT WIDTH。 我也在主要問題中編輯了我的代碼,您可以看到有一個網格可以通過屏幕更改其大小並且沒有寬度屬性。 –