[英]WPF ListView not rendering templates
我有一個ListView
,其中裝有ObservableCollection
項目。 在我決定添加第二個列表視圖以過濾某些項目之前,一切工作正常。
我現在設置的是主列表視圖具有ItemGroup
對象作為呈現的項目,所顯示的項目是項目組中的第一個項目。 設想一個帶有存儲桶的哈希表,並且列表中呈現的項目是該組中最新的項目。
我有一個按鈕,單擊后將顯示另一個列表視圖,其中包含該“存儲桶”中的所有項目。 但是,我在新列表視圖中得到的只是項目的空白條目。 我看到了它們的項目樣式背景,但是celltemplate似乎是空的。
我唯一的猜測是存在參考問題,因為某些項目已經在另一個ItemSource
。
我已附上截圖:
這是我的DataTemplate
:
<DataTemplate x:Key="ResultListGroupViewCellTemplate">
<!--<DockPanel>-->
<Grid Width="Auto" Margin="0,5,5,5" ShowGridLines="False">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="30"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
</Grid.RowDefinitions>
<StackPanel Grid.Column="0">
<Image Margin="2" Source="{Binding Path=StrengthImage}"
Height="20" Width="20" HorizontalAlignment="Left" />
<TextBlock Text="{Binding Path=AddedDate}" Margin="0,3,0,0"
TextTrimming="CharacterEllipsis" VerticalAlignment="Center" FontFamily="Tahoma" FontSize="10" FontStyle="Italic" HorizontalAlignment="Left" />
</StackPanel>
</Grid>
<!--</DockPanel>-->
</DataTemplate>
這是我設置數據綁定的方式(MatchApiObject是上述DataTemplate
用於綁定的對象):
groupViewCollection = new ObservableCollection<MatchApiObject>(m.GroupList.OrderBy(mi => mi.AddedDate));
groupViewListView.DataContext = groupViewCollection;
而groupViewListView本身:
<ListView Name="groupViewListView" Foreground="#FF333333"
ItemContainerStyle="{StaticResource ListViewMatchItemStyleNotSelected}"
SelectionMode="Single"
ItemsSource="{Binding}"
BorderThickness="0"
SelectionChanged="contactsList_SelectionChanged"
AlternationCount="2"
HorizontalContentAlignment="Stretch"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
>
<ListView.View>
<GridView x:Name="groupViewListViewGridView" AllowsColumnReorder="False">
<GridView.ColumnHeaderContainerStyle>
<Style TargetType="GridViewColumnHeader">
<Setter Property="Visibility" Value="Collapsed" />
</Style>
</GridView.ColumnHeaderContainerStyle>
<GridViewColumn CellTemplate="{StaticResource StrengthValMatchColumnCellTemplate}" Width="0" Header="Strength" />
<GridViewColumn CellTemplate="{StaticResource DateMatchColumnCellTemplate}" Width="0" Header="Date" />
<!--<GridViewColumn CellTemplateSelector="{StaticResource myMatchListItemTemplateSelector}" Width="Auto" Header="Result" />-->
<GridViewColumn CellTemplate="{StaticResource ResultListGroupViewCellTemplate}" Width="Auto" Header="Result" />
</GridView>
</ListView.View>
</ListView>
編輯:當我調試時,列表視圖在綁定中具有適當的項目(例如,CurrentItem顯示了應該用於綁定的適當的對象),但是由於某些原因,它們沒有顯示出來。
我真笨。 看來主數據模板上的Width =“ Auto”並沒有完全散開。 設置Width = 100表示零件。 也許是父母沒有一路傳播。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.