1

我有一个带有以下组样式标题模板的网格视图:

<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 不执行。

这里有什么问题?

4

2 回答 2

2

我从这里得到它 WinRT (Win 8) Store App XAML Bindings RelativeSourceMode FindAncestor 丢失?

我想将我的按钮绑定到我的 ViewModel 中的 ICommand,所以我这样做了:

 <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>
于 2013-04-30T07:15:32.450 回答
2

你应该这样尝试:

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);
        }
于 2013-04-30T05:06:22.860 回答