2016-03-28 6 views
0

Wie ein Listenansicht, um mehrere XAML zu zeigen? auf mainpage.xaml, ich möchte nur verbindlich "Kata" zeigen. ein anderes xaml ich möchte verbindlich "Kata" und "Description" zeigen.Bindung einer Listenansicht auf mehrere XAML

diese 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> 

dies ein weiterer 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> 

Antwort

0

Verwenden Usercontrol und ein DependencyProperty ob Beschreibungsfeld zeigen oder nicht 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(); 
     } 
    } 

diese in Ihre Seite wie diese

<local:ListViewUserContrl DescriptionVisibility="Visible"/>