我有一个网格视图与以下组样式头模板:
<GroupStyle.HeaderTemplate>
<DataTemplate>
<Grid Margin="1,0,0,6">
<Button
AutomationProperties.Name="Group Title"
Command="{Binding GroupCommand}"
Style="{StaticResource TextPrimaryButtonStyle}"
>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Key}" Margin="3,-7,10,10" Style="{StaticResource GroupHeaderTextStyle}" />
<TextBlock Text="{StaticResource ChevronGlyph}" FontFamily="Segoe UI Symbol" Margin="0,-7,0,10" Style="{StaticResource GroupHeaderTextStyle}"/>
</StackPanel>
</Button>
</Grid>
</DataTemplate>
</GroupStyle.HeaderTemplate>
问题是当我点击按钮时,GroupCommand不执行。
你应该这样做:
private void Button_Tapped_1(object sender, TappedRoutedEventArgs e)
{
SampleDataItem item = new SampleDataItem("test", "test!", "subtitle", "", "", "", null);
SampleDataSource.AddItemToFirstGroup(item);
}
private void Button_Tapped_2(object sender, TappedRoutedEventArgs e)
{
SampleDataGroup group = new SampleDataGroup("test", "testGroup", "subtitle", "", "");
group.Items.Add(new SampleDataItem("test", "test!", "subtitle", "", "", "", null));
SampleDataSource.AddGroup(group);
}
我明白了WinRT (win8)商店应用程序XAML绑定RelativeSourceMode FindAncestor丢失?
我想将我的按钮绑定到我的ViewModel中的iccommand,所以我这样做:
<GroupStyle.HeaderTemplate>
<DataTemplate>
<Grid Margin="1,0,0,6">
<Button
AutomationProperties.Name="Group Title"
Command="{Binding ElementName=myParentGridView, Path=DataContext.GroupCommand}"
Style="{StaticResource TextPrimaryButtonStyle}"
>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Key}" Margin="3,-7,10,10" Style="{StaticResource GroupHeaderTextStyle}" />
<TextBlock Text="{StaticResource ChevronGlyph}" FontFamily="Segoe UI Symbol" Margin="0,-7,0,10" Style="{StaticResource GroupHeaderTextStyle}"/>
</StackPanel>
</Button>
</Grid>
</DataTemplate>
</GroupStyle.HeaderTemplate>