码迷,mamicode.com
首页 > 其他好文 > 详细

学习总结

时间:2015-11-19 16:27:32      阅读:114      评论:0      收藏:0      [点我收藏+]

标签:

最近在学习win10开发UWP应用的时候遇到了一些问提,记录以作备用。

1. listview可以通过ItemTemplateSelector来给listview显示不同的DataTemplate

一个继承DataTemplateSelector的类,通过重写SelectTemplateCore的方法来指定不同的DataTemplate

2.在DataTemplate里面使用x:bind的时候,必须在DataTemplate那里指定x:DataType,不然编译会报错

3.listview的FooterTemplate和DataTemplate的内容所属的集合不一致,

在赋值的时候,是这样赋值的

技术分享
        //初始化数据,TemplateType=2的那一项是占位项,用来显示画线的那一项
        //SpView的那一项是listview的footitem的那一项
        public SpliteViewViewModel()
        {
            spHelper = new List<SpliteViewHelper>()
            {
               new SpliteViewHelper() {SpliteviewName="标题1",groupType=1,SpIcon=new BitmapImage(new Uri("ms-appx:///Assets/LockScreenLogo.scale-200.png")) ,TemplateType=1},
               new SpliteViewHelper() {SpliteviewName="标题2",groupType=1,SpIcon=new BitmapImage(new Uri("ms-appx:///Assets/LockScreenLogo.scale-200.png")),TemplateType=1},
               new SpliteViewHelper() {SpliteviewName="标题3",groupType=1,SpIcon=new BitmapImage(new Uri("ms-appx:///Assets/LockScreenLogo.scale-200.png")),TemplateType=1},
                new SpliteViewHelper() {SpliteviewName="标题1",groupType=1,SpIcon=new BitmapImage(new Uri("ms-appx:///Assets/LockScreenLogo.scale-200.png")),TemplateType=2},
               new SpliteViewHelper() {SpliteviewName="标题4",groupType=1,SpIcon=new BitmapImage(new Uri("ms-appx:///Assets/LockScreenLogo.scale-200.png")),TemplateType=1},
               new SpliteViewHelper() {SpliteviewName="标题5",groupType=1,SpIcon=new BitmapImage(new Uri("ms-appx:///Assets/LockScreenLogo.scale-200.png")),TemplateType=1},
            };
            SpView = new SpliteViewHelper() { SpliteviewName = "底部标题", groupType = 1, SpIcon = new BitmapImage(new Uri("ms-appx:///Assets/LockScreenLogo.scale-200.png")), TemplateType = 1 };
        }
View Code

在前台绑定也是不同的

技术分享
<ListView x:Name="SplitViewListView" SelectedItem="{Binding spviewmodel.selectitem}" ItemsSource="{Binding spviewmodel.spHelper}" Background="#372127" >
                    <Interactivity:Interaction.Behaviors>
                        <core:EventTriggerBehavior EventName="SelectionChanged">
                            <core:InvokeCommandAction Command="{Binding spviewmodel.SelectedCommand}" CommandParameter="{Binding ElementName=SplitViewListView,Path=SelectedItem}"/>
                        </core:EventTriggerBehavior>
                    </Interactivity:Interaction.Behaviors>
                    <ListView.ItemTemplateSelector>
                        <com:TemplateSelector  LineTemplate="{StaticResource LineTemplate}" NomalTemplate="{StaticResource NomalTemplate}"/>
                    </ListView.ItemTemplateSelector>
                    <ListView.FooterTemplate>
                        <DataTemplate >
                            <StackPanel  Orientation="Horizontal" Height="40" x:Name="footItem">
                                <Interactivity:Interaction.Behaviors>
                                    <core:EventTriggerBehavior EventName="Tapped">
                                        <core:InvokeCommandAction Command="{Binding spviewmodel.SelectedCommand}" CommandParameter="{Binding ElementName=footItem}"/>
                                    </core:EventTriggerBehavior>
                                </Interactivity:Interaction.Behaviors>
                                <Image Source="{Binding spviewmodel.SpView.SpIcon}" Width="40" Height="40" VerticalAlignment="Center"/>
                                <TextBlock Text="{Binding spviewmodel.SpView.SpliteviewName}" Foreground="White"></TextBlock>
                            </StackPanel>
                        </DataTemplate>
                    </ListView.FooterTemplate>
                </ListView>
View Code

但是为什么绑定Command的时候是找得到同一个Command呢?

还有一个问题listview的FooterTemplate怎么去选中呢

4.UserControl通过 x:FieldModifier来控制访问权限

5.splitview的DisplayMode决定了它的不同显示

最近遇到了很多问题,写的很差,新手勿喷

demo下载地址

学习总结

标签:

原文地址:http://www.cnblogs.com/lj940306/p/4977788.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!