使用Hub App访问c#中的ListView.selectionMode

时间:2014-10-22 12:11:52

标签: c# windows-phone-8

在WP8.1中创建了一个Hub应用程序,我有一个ListView,我需要在按下appbar按钮时修改选择模式。我无法访问后面的.cs代码中列表视图的x:Name。我在普通页面上工作,只是没有在Hub App中工作。

我无法访问c#中的x:Name =“WeatherListView”来更改选择模式

<Grid x:Name="LayoutRoot">

    <!--TODO: Content should be placed within the following grid-->
    <Grid Grid.Row="0" x:Name="ContentRoot" Margin="19,9.5,19,0">
        <Hub x:Name="AHubView" x:Uid="Hub" Header="A View" SectionsInViewChanged="AHubVieww_SectionsInViewChanged" >
            <!--Background="{ThemeResource HubBackgroundImageBrush}"-->
            <HubSection Name="WeatherHub" x:Uid="WeatherHub" Header="Weather Hub" DataContext="{Binding HubData}"  
                        d:DataContext="{Binding}"
                        >
                <DataTemplate  >
                    <ListView

                        x:Name="WeatherListView"
                        SelectionMode="Multiple"
                        ItemClick="WeatherListView_OnItemClick"
                         ItemsSource="{Binding DataVal}">
                        <ListView.ItemTemplate>
                            <DataTemplate>
                                <StackPanel>

private void WeatherRemoveAppBarButton_OnClick(object sender,RoutedEventArgs e)         {

        SetDefaultWeatherButton(false);
        SetWeatherDeleteButton(true);
    }

1 个答案:

答案 0 :(得分:0)

如果它是<Controls>的一部分,则无法访问<DataTemplate>,您需要浏览VisualTree并将其解压缩或将SelectionMode数据绑定到属性在ViewModel中。如果正确完成,更改此属性应更改SelectionMode。


VisualTree Exaction Example,我建议使用数据绑定方法。