我準備了我自己的DataTemplate
以顯示我自己的Item類別對象。要設置我使用綁定到ViewportWidth
的ScrollViewer
的寬度。這就是:視口寬度比實際視圖窗口稍寬WPF
<DataTemplate x:Key="MyItemTemplate">
<Grid Margin="5" HorizontalAlignment="Stretch"
Width="{Binding ViewportWidth, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type ScrollViewer}}}">
...
</Grid>
</DataTemplate>
我如何顯示數據:
<TabItem Header="Shop">
<!--<ScrollViewer>-->
<ListView Name="ShopListView" ItemsSource="{Binding itemList}"
ItemTemplate="{StaticResource MyItemTemplate}"
ItemContainerStyle="{StaticResource alternatingListViewItemStyle}"
AlternationCount="2"
ScrollViewer.CanContentScroll="True"
/>
<!--</ScrollViewer>-->
</TabItem>
問題是grid
使我的DataTemplate
是sliglty更廣 - 它重疊View Window
的右邊框。在他們的右邊緣
<Style x:Key="alternatingListViewItemStyle" TargetType="{x:Type ListViewItem}">
<Style.Triggers>
<!-- setting up triggers for alternate background colors -->
<Trigger Property="ItemsControl.AlternationIndex" Value="1">
<Setter Property="Background" Value="#FF4C85FF"></Setter>
</Trigger>
<Trigger Property="ItemsControl.AlternationIndex" Value="2">
<Setter Property="Background" Value="#FFFF8C7C"></Setter>
</Trigger>
</Style.Triggers>
</Style>
嗯,我看你有很多[** margin **](https: //msdn.microsoft.com/en-us/library/system.windows.frameworkelement.margin(v=vs.110).aspx)錯誤,我猜:P – elgonzo
刪除'Margin =「5」'還沒有解決了問題:/ –
嗯,不知道。如果你也許可以添加一個屏幕截圖,顯示問題的具體表現方式。這可能有助於瞭解發生的事情。從你的問題的XAML片段並沒有多少... – elgonzo