윈도우 8 용 앱 메트로를 개발 중입니다. GridApp (xaml) 프로젝트를 사용하지만 각 섹션마다 다른 그룹 스타일을 사용하고 싶습니다. I 그룹 스타일을 선택하기 위해이 클래스를 사용그리드 뷰에서 그룹 스타일 선택
public class GroupTemplateSelector : GroupStyleSelector
{
public GroupStyle NewsItemGroupStyle { get; set; }
public GroupStyle NormalGroupStyle { get; set; }
protected override GroupStyle SelectGroupStyleCore(object group, uint level)
{
// a method that tries to grab an enum off the bound data object
if (level == 3)
{
return NewsItemGroupStyle;
}
else
{
return NormalGroupStyle;
}
throw new ArgumentException("Unexpected group type");
}
}
및 XAML
<!-- NewsItemGroupStyle -->
<GroupStyle x:Key="NewsItemGroupStyle">
<GroupStyle.HeaderTemplate>
<DataTemplate>
</DataTemplate>
</GroupStyle.HeaderTemplate>
<GroupStyle.Panel>
<ItemsPanelTemplate>
<StackPanel Orientation="Vertical" Margin="0,0,80,0" VerticalAlignment="Bottom"/>
</ItemsPanelTemplate>
</GroupStyle.Panel>
</GroupStyle>
<!-- NormalItemGroupStyle -->
<GroupStyle x:Key="NormalGroupStyle">
<GroupStyle.HeaderTemplate>
<DataTemplate>
<Grid Margin="1,0,0,6">
<Button
AutomationProperties.Name="Group Title"
Content="{Binding Title}"
Background="Blue"
Click="Header_Click"
Style="{StaticResource TextButtonStyle}"
/>
</Grid>
</DataTemplate>
</GroupStyle.HeaderTemplate>
<GroupStyle.Panel>
<ItemsPanelTemplate>
<VariableSizedWrapGrid Orientation="Vertical" Margin="0,0,80,0"/>
</ItemsPanelTemplate>
</GroupStyle.Panel>
</GroupStyle>
<!-- selector -->
<common:GroupTemplateSelector
x:Key="groupSelector"
NewsItemGroupStyle="{StaticResource NewsItemGroupStyle}"
NormalGroupStyle="{StaticResource NormalGroupStyle}" />
하지만 스타일의 그룹은 한 번에 변경 :
내 코드입니다.
(http://social.msdn.microsoft.com/Forums/en-US/winappswithcsharp/ thread/63a5d82c-1ad2-4e24-bfb4-122d5551c5f0 /)를 사용하여 질문에 대한 답변을 얻을 수 있습니다. –
그리고 질문은 무엇입니까? – Denis
나는 정확히 같은 문제가 있고이 스레드의 모든 사람들도 마찬가지입니다. http://social.msdn.microsoft.com/Forums/en-GB/winappswithcsharp/thread/5f12273f-e000-4c96-a4bc-6ccc18a104a0 – krisdyson