2012-02-01 1 views
0

Я получаю исключение COM при привязке ListView к элементам списка. Исключение выбрасывается со второй строки здесь. "Первый шанс, исключение типа 'System.Runtime.InteropServices.COMException' произошло в app.exeComException при привязке данных в приложении XAML Metro

Дополнительная информация: Разрушительный сбой (Исключение из HRESULT: 0x8000ffff (E_UNEXPECTED))"

Playlists = content.getPlayLists(); 
PlayListView.DataContext = Playlists; 

XAML объявлении привязка

<ListView x:Name="PlayListView" ItemsSource="{Binding ElementName=Playlists}" Background="AntiqueWhite" SelectionChanged="PlayListView_SelectionChanged" HorizontalAlignment="Left" Height="364" Margin="56,268,0,0" VerticalAlignment="Top" Width="308"> 
     <ListView.ItemTemplate> 
      <DataTemplate> 
       <StackPanel Orientation="Horizontal"> 
        <TextBlock Text="{Binding Path=Name}"/> 
       </StackPanel> 
      </DataTemplate> 
     </ListView.ItemTemplate> 
    </ListView> 

Я упростил список воспроизведения, просто имея 2 строки, но по-прежнему имеет ту же проблему.

public class PlayList 
{ 
    private string playListName; 
    private string description; 
    private DateTime dateTimeCreated; 
    private int numTracks; 
    private List<Track> tracks; 
    private string id; 

    public string Name 
    { 
     get { return playListName; } 
     set { playListName = value; } 
    } 

    public string Description 
    { 
     get { return description; } 
     set { description = value; } 
    } 

    public DateTime CreatedDate 
    { 
     get { return dateTimeCreated; } 
     set { dateTimeCreated = value; } 
    } 

    public int NumberOfTracks 
    { 
     get { return numTracks; } 
     set { numTracks = value; } 
    } 

    public List<Track> Tracks 
    { 
     get { return tracks; } 
     set { tracks = value; } 
    } 

    public String Id 
    { 
     get { return id; } 
     set { id = value; } 
    } 
} 
+0

Хм, некоторые вещи никогда не меняются, отчеты об ошибках COM всегда были довольно бедными. Настоящая катастрофа. –

ответ

0

Проблема состоит в том, что не задан элемент пользовательского интерфейса на основной резьбе. Я установил его с помощью

PlayListView.Dispatcher.Invoke(Windows.UI.Core.CoreDispatcherPriority.Normal, (s, a) => 
{ 
    PlayListView.DataContext = Playlists; 
}, PlayListView, null); 

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

  • Нет связанных вопросов^_^