将一个listview绑定到多个xaml

时间:2016-03-28 04:09:22

标签: xaml listview win-universal-app

如何向多个xaml显示一个列表视图? 在mainpage.xaml上,我只是想显示绑定“Kata”。另一个xaml我想显示绑定“Kata”和“Description”。

此mainpage.xaml

<ListView x:Name="listView" ItemsSource="{Binding}" HorizontalAlignment="Left" Height="520" VerticalAlignment="Top" Width="340" Margin="10,10,0,0" Grid.Row="2" Background="#33FFFFFF">
        <ListView.ItemTemplate>
            <DataTemplate>
                <StackPanel>
                    <TextBlock  Text="{Binding Kata}" Tapped="TextBlock_Tapped_1" FontSize="26.667" />
                </StackPanel>
            </DataTemplate>

        </ListView.ItemTemplate>
    </ListView>

这另一个xaml。

 <ListView x:Name="dictionary_list" ItemsSource="{Binding}" HorizontalAlignment="Left" Height="620" VerticalAlignment="Top" Width="340" Margin="10,10,0,0" Background="{ThemeResource AppBarItemDisabledForegroundThemeBrush}">
        <ListView.ItemTemplate>
            <DataTemplate>
                <StackPanel>
                    <TextBlock Text="{Binding Kata}" FontSize="26.667" Foreground="White" TextAlignment="Center" />
                    <TextBlock Text="{Binding Description}" Foreground="White" />

                </StackPanel>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>

1 个答案:

答案 0 :(得分:0)

使用UserControl和一个DependencyProperty是否显示描述字段 的 ListViewUserContrl.xaml

<UserControl
    x:Class="Listview.ListViewUserContrl"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:Listview"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    d:DesignHeight="300"
    d:DesignWidth="400"
    x:Name="ListViewUserControl">

    <Grid>
        <ListView x:Name="dictionary_list" ItemsSource="{Binding}" HorizontalAlignment="Left" Height="620" VerticalAlignment="Top" Width="340" Margin="10,10,0,0" Background="{ThemeResource AppBarItemDisabledForegroundThemeBrush}">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <StackPanel>
                        <TextBlock Text="{Binding Kata}" FontSize="26.667" Foreground="White" TextAlignment="Center" />
                        <TextBlock Text="{Binding Description}" Visibility="{Binding ElementName=ListViewUserControl,Path=DescriptionVisibility}" Foreground="White" />

                    </StackPanel>
                </DataTemplate>
            </ListView.ItemTemplate>
        </ListView>
    </Grid>
</UserControl>

<强> ListViewUserContrl.xaml.cs

 public sealed partial class ListViewUserContrl : UserControl
    {
        public static readonly DependencyProperty DescriptionVisibilityProperty =
            DependencyProperty.Register("DescriptionVisibility", typeof(Visibility), typeof(ListViewUserContrl),
                new PropertyMetadata(Visibility.Collapsed));
        public Visibility DescriptionVisibility
        {
            get { return (Visibility)GetValue(DescriptionVisibilityProperty); }
            set { SetValue(DescriptionVisibilityProperty, value); }
        }
        public ListViewUserContrl()
        {
            this.InitializeComponent();
        }
    }

将此添加到您的页面

<local:ListViewUserContrl DescriptionVisibility="Visible"/>