2014-07-22 45 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

相關問題