2015-11-11 4 views
0

Я не знаю, плохо ли я понимаю привязанность, или если я не вижу проблемы, но я надеюсь, что кто-то может помочь мне здесь. У меня есть ListView с шаблоном изображения и TextBlock, мне нужно, чтобы TextBlock был связан с ItemsSourceListView. Однако когда я запускаю это, я ничего не вижу, я даже не вижу свой image, который я установил.Связывание с TextBlock в ListView

XAML:

<UserControl.Resources> 
    <FontFamily x:Key="FontFamily">MS Reference Sans Serif</FontFamily>   
</UserControl.Resources> 

<Grid> 
    <ListView BorderThickness="0" ItemsSource="{Binding Facies}"> 
     <ListView.ItemTemplate> 
      <DataTemplate> 
      <StackPanel Orientation="Horizontal"> 
       <Image Source="../Images/Shale.png"/> 
       <TextBlock Text="{Binding FaciesName}" Width="75" Margin="5"/> 
      </StackPanel> 
      </DataTemplate> 
     </ListView.ItemTemplate> 
    </ListView> 
</Grid> 

C#:

public partial class FaciesControl : UserControl 
{ 

    public FaciesControl() 
    { 
     InitializeComponent(); 
    } 

    public List<string> Facies {get; set;} 

    public void Bind(string[] data) 
    { 
     Facies = new List<string>(); 
     Facies.AddRange(data); 
    } 
} 
+0

Вы установили 'DataContext'? – Karolis

ответ

1

Сначала установите DataContext так:

public FaciesControl() 
{ 
    InitializeComponent(); 
    string[] str = { "Name1", "Name2", "Name3" }; 
    Bind(str); // Make sure you have called the Bind method 
    DataContext = Facies; 
} 

Второй изменить свой XAML, как это:

<ListView BorderThickness="0" ItemsSource="{Binding}"> 
.... 
.... 
<TextBlock Text="{Binding}" Width="75" Margin="5"/> 
+0

Спасибо, что было идеально :) –

Смежные вопросы