2014-07-22 19 views
0


我有一个数据绑定到Window Store应用程序的ListView的问题。我想要的是,绑定列表视图集合并显示列表视图中的项目数据模板(工程)。我遇到问题的地方是,当我想在此模板中显示一个变量时,该变量未在集合中定义,但是在类中是公共的。
让我显示一些代码,以清除我的问题。
我在XAML定义布局:Windows应用商店应用绑定列表视图从列表和“自我”

<Page.Resources> 
    <DataTemplate x:Key="template"> 
     <StackPanel Orientation="Horizontal"> 
      <TextBlock Text="{Binding}"/> 
      <TextBlock Text="{Binding Test}" Margin="20 0" /> 
     </StackPanel> 
    </DataTemplate> 
</Page.Resources> 

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> 
    <ListView ItemTemplate="{StaticResource template}" ItemsSource="{Binding Items}" x:Name="listView" Margin="40"> 
    </ListView> 
</Grid> 

而后面的代码是:

public List<string> Items { get; set; } 
public string Test { get; set; } 
public MainPage() 
{ 
    this.InitializeComponent(); 
    Items = new List<string>() 
    { 
     "test 1", "test 2" , "test 3" 
    }; 
    Test = "TEST!"; 

    listView.DataContext = this; 
} 

我需要设置什么,将文本块正确绑定测试变量?

+0

绑定到网格的DataContext.Test或ListView的DataContext.Test – bit

回答

1

试试这个..

<Page.Resources> 
    <DataTemplate x:Key="template"> 
     <StackPanel Orientation="Horizontal"> 
      <TextBlock Text="{Binding}"/> 
      <TextBlock Text="{Binding ElementName=listView, Path=DataContext.Test}" Margin="20 0" /> 
     </StackPanel> 
    </DataTemplate> 
</Page.Resources> 

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> 
    <ListView ItemTemplate="{StaticResource template}" ItemsSource="{Binding Items}" x:Name="listView" Margin="40"> 
    </ListView> 
</Grid> 
+0

大,这工作正是我想要的。非常感谢你! – davidm

+0

干杯!,Upvote或标记为答案 – bit

相关问题