zoukankan      html  css  js  c++  java
  • uwp 的】listView 选择

    xml 代码

    ----------------------------------------------------------

    <Page

        x:Class="ContentControlWithTemplateSelector.TestPage1"

        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

        xmlns:local="using:ContentControlWithTemplateSelector"

        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"

        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"

        mc:Ignorable="d">

        <Page.Resources>

            <DataTemplate x:Key="AvatarWithVisibility">

                <Grid >

                    <Grid Visibility="{Binding Converter={StaticResource RoomTypeConverter},ConverterParameter=Name}">

                        <Ellipse Fill="Green"></Ellipse>

                        <TextBlock Text="{Binding Index}" TextAlignment="Center" VerticalAlignment="Center"></TextBlock>

                    </Grid>

                    <Grid Visibility="{Binding Converter={StaticResource RoomTypeConverter},ConverterParameter=Image}">

                        <Ellipse >

                            <Ellipse.Fill>

                                <ImageBrush ImageSource="{Binding ImageUri}"></ImageBrush>

                            </Ellipse.Fill>

                        </Ellipse>

                    </Grid>

                    <Grid CacheMode="BitmapCache" Visibility="{Binding Converter={StaticResource RoomTypeConverter},ConverterParameter=Default}">

                        <Grid.RowDefinitions>

                            <RowDefinition></RowDefinition>

                            <RowDefinition Height="2*"></RowDefinition>

                            <RowDefinition></RowDefinition>

                        </Grid.RowDefinitions>

                        <Grid.ColumnDefinitions>

                            <ColumnDefinition></ColumnDefinition>

                            <ColumnDefinition Width="2*"></ColumnDefinition>

                            <ColumnDefinition></ColumnDefinition>

                        </Grid.ColumnDefinitions>

                        <Ellipse Grid.Row="0" Grid.Column="0" Grid.RowSpan="2" Grid.ColumnSpan="2" Fill="Green">

                        </Ellipse>

                        <Ellipse Grid.Row="1" Grid.Column="1" Grid.RowSpan="2" Grid.ColumnSpan="2" Fill="Orange">

                        </Ellipse>

                    </Grid>

                </Grid>

            </DataTemplate>

        </Page.Resources>

        

        <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">

            <Grid.ColumnDefinitions>

                <ColumnDefinition></ColumnDefinition>

                <ColumnDefinition></ColumnDefinition>

            </Grid.ColumnDefinitions>

            <ListView x:Name="listViewAvatar" Grid.Column="0" ItemsSource="{Binding Rooms}">

                <ListView.ItemTemplate>

                    <DataTemplate>

                        <Grid>

                            <Grid.ColumnDefinitions>

                                <ColumnDefinition ></ColumnDefinition>

                                <ColumnDefinition></ColumnDefinition>

                            </Grid.ColumnDefinitions>

                            <ContentControl Grid.Column="0" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" Width="50" Height="50"

                                            ContentTemplate="{StaticResource AvatarWithVisibility}"></ContentControl>

                            

                            <StackPanel Grid.Column="1" >

                                <TextBlock  Text="{Binding Name}"></TextBlock>

                                <TextBlock  Text="{Binding ImageUri}"></TextBlock>

                            </StackPanel>

                        </Grid>

                    </DataTemplate>

                </ListView.ItemTemplate>

            </ListView>

            <ContentControl Grid.Column="1" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch"

                            Content="{Binding SelectedItem,ElementName=listViewAvatar}" Width="150" Height="150"

                            ContentTemplate="{StaticResource AvatarWithVisibility}"></ContentControl>

        </Grid>

    </Page>

    public sealed partial class TestPage1 : Page
    {
      public TestPage1()
      {
        this.InitializeComponent();
        this.DataContext = new DataViewModel();
      }
    }

    DataViewModel 代码

      public class DataViewModel

        {

            public ObservableCollection<Room> Rooms { get; set; }

            public DataViewModel()

            {

                Rooms = CreateRooms();

            }

            private ObservableCollection<Room> CreateRooms()

            {

                ObservableCollection<Room> rooms = new ObservableCollection<Room>();

                for (int i = 0; i < 10000; i++)

                {

                    var room = new Room { Index = i };

                    if (i % 3 == 0)

                    {

                        room.Name = "Room " + i;

                        if (i % 2 == 0)

                        {

                            room.ImageUri = new Uri( "ms-appx:///Assets/testImage.jpg");

                        }

                    }

                    rooms.Add(room);

                }

                return rooms;

            }

        }

  • 相关阅读:
    HDU 1800 Flying to the Mars 字典树,STL中的map ,哈希树
    字典树 HDU 1075 What Are You Talking About
    字典树 HDU 1251 统计难题
    最小生成树prim算法 POJ2031
    POJ 1287 Networking 最小生成树
    次小生成树 POJ 2728
    最短路N题Tram SPFA
    poj2236 并查集
    POJ 1611并查集
    Number Sequence
  • 原文地址:https://www.cnblogs.com/bruce1992/p/14260252.html
Copyright © 2011-2022 走看看