3
내 ItemsControl 그룹과 관련하여 이상한 문제가 있습니다. 다음과 같은 설치가 있습니다 :그룹화 적용시 WPF 항목이 표시되지 않습니다.
<ItemsControl Margin="3" ItemsSource="{Binding Communications.View}" >
<ItemsControl.GroupStyle>
<GroupStyle>
<GroupStyle.ContainerStyle>
<Style TargetType="{x:Type GroupItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type GroupItem}">
<Expander>
<Expander.Header>
<Grid>
<Grid.ColumnDefinitions >
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding ItemCount, StringFormat='{}[{0}] '}" FontWeight="Bold" />
<TextBlock Grid.Column="1" Text="{Binding Name, Converter={StaticResource GroupingFormatter}, StringFormat='{}Subject: {0}'}" FontWeight="Bold" />
</Grid>
</Expander.Header>
<ItemsPresenter />
</Expander>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</GroupStyle.ContainerStyle>
</GroupStyle>
</ItemsControl.GroupStyle>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<TextBlock FontWeight="Bold" Text="{Binding Inspector, Converter={StaticResource NameFormatter}, StringFormat='{}From {0}:'}" Margin="3" />
<TextBlock Text="{Binding SentDate, StringFormat='{}{0:dd/MM/yy}'}" Grid.Row="1" Margin="3"/>
<TextBlock Text="{Binding Message }" Grid.Column="1" Grid.RowSpan="2" Margin="3"/>
<Button Command="vm:CommunicationViewModel.DeleteMessageCommand" CommandParameter="{Binding}" HorizontalAlignment="Right" Grid.Column="2">Delete</Button>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
내 ViewModel에서 'Communications'라는 CollectionViewSource를 노출합니다. 그래서 같은 그룹화 후두둑를 추가로 진행 :
Communications.GroupDescriptions.Add(new PropertyGroupDescription("Subject"));
지금, 내가 경험 해요 문제는 그룹화 작업 괜찮지 만, 나는 그룹 내부의 모든 항목을 볼 수 없습니다. 내가 도대체 뭘 잘못하고있는 겁니까? 모든 포인터가 많이 감사 할 것입니다.
VM에서 XAML 리소스를 참조 할 수 없기 때문에 ViewModel CollectionViewSource에 바인딩 할 수 있습니까? 그리고 .View에 직접 바인딩하지 않고 CollectionViewSource에 바인딩하지 않습니다. –
저는 제 스타일 라이브러리에서 ItemsControl 스타일을 정의하고있는 것을 발견했으며, 내 코드에있는 것을 재정의했습니다. 나는 스타일을 제거하고 모든 것이 훌륭합니다! 수업은 배웠다. –