У меня проблема с привязкой: см. мой код
Это Xaml-код:
<ItemsControl x:Name="lbOpenInvoices" ItemsSource="{Binding Path=ocOpenInvoices}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="3" VerticalAlignment="Top" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button x:Name="btnOpenInvoice" Click="btnOpenInvoice_Click" Style="{StaticResource OpenInvoicesButton}">
<StackPanel Orientation="Vertical">
<TextBlock Text="{Binding Converter={StaticResource InvoiceNoTableNo}}"/>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<TextBlock Text="{Binding Converter={StaticResource InvoiceNoInvoiceId}}"/>
<TextBlock Text="{Binding TotalAmount}" FontSize="14" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</StackPanel>
<TextBlock Text="{Binding Converter={StaticResource InvoiceDateTime}}"/>
</StackPanel>
</Button>
</DataTemplate>
</ItemsControl.ItemTemplate>
In Code behind I have declared the ocOpenInvoices ObservableCollection:
public ObservableCollection<Invoice> ocOpenInvoices { get; set; }
И в моем событии Window Loadded:
void SaleWindow_Loaded(object sender, RoutedEventArgs e)
{
this.DataContext = this;
}
Но это сводит меня с ума, потому что ItemControl не отвечает на ocOpenInvoices ObservableCollection.
Когда я даю ему ItemsSource из codebehind, он работает :(, я пытался дать ему ElementName, но он все еще не отвечает.
Пожалуйста, не могли бы вы помочь и сказать мне, что моя проблема? что мне здесь не хватает? Заранее спасибо.
InitializeComponent();
Привязка может быть выполнена до того, как вы ее создали. Таким образом, он связывается с NULL. - person Jeroen van Langen   schedule 06.04.2014