locked
Как нотифкейтить и обновлять RRS feed

  • Вопрос

  • на main.xaml.cs
    BitmapSource source = new BitmapImage(new Uri(CurrentContent.Item));
                InfoTextBlock.Text = CurrentContent.Name;
                OldContentView.Source = source;
    internal CurrentContent CurrentContent
            {
                get
                {
                    var item = new CurrentContent();
                    return item;
                }
            }

    а CurrentContent это
    public class CurrentContent
        {
            public string Item { get; set; }
            public string Name { get; set; }
    
            private static IReadOnlyList<IStorageItem> List { get; set; }
    
            public CurrentContent()
            {
                IAsyncOperation<IReadOnlyList<IStorageItem>> allFiles;
                switch (Random(1))
                {
                    case 0: allFiles = KnownFolders.PicturesLibrary.GetItemsAsync(); break;
                    default: allFiles = KnownFolders.MusicLibrary.GetItemsAsync(); break;
                }
                
                allFiles.Completed += (info, status) =>
                    {
                        List = allFiles.GetResults();
                        var imageSource = List[Random(List.Count) - 1];
                        Item = imageSource.Path;
                        Name = imageSource.Name;
                    };
                
            }}
    Я думаю, что понятно, что main.xaml.cs не ждёт пока конструктор CurrentContent выполнит всё. Я не могу нагуглить способа, что бы когда делегат отрабал пронотификейтить это в main.xaml.cs и обновить там картинку.

    С уважением, Герасимов Алексей. Skype: gerich1988; icq: 352-885-953

    5 января 2013 г. 11:08

Ответы

  • Вам нужно устанавливать свойства не на прямую, а через привязку, тогда они отобразятся именно тогда, когда код отработает.

    Привязка в WinRT похожа на привязку в WPF, поэтому изучайте и пробуйте.


    Женат на WPF. Тайно встречаюсь с WinRT. Не сложилось с C#!

    • Предложено в качестве ответа Abolmasov Dmitry 11 января 2013 г. 7:32
    • Помечено в качестве ответа Abolmasov Dmitry 14 января 2013 г. 11:33
    5 января 2013 г. 16:58

Все ответы

  • Вам нужно устанавливать свойства не на прямую, а через привязку, тогда они отобразятся именно тогда, когда код отработает.

    Привязка в WinRT похожа на привязку в WPF, поэтому изучайте и пробуйте.


    Женат на WPF. Тайно встречаюсь с WinRT. Не сложилось с C#!

    • Предложено в качестве ответа Abolmasov Dmitry 11 января 2013 г. 7:32
    • Помечено в качестве ответа Abolmasov Dmitry 14 января 2013 г. 11:33
    5 января 2013 г. 16:58
  • Привет. Пожалуйста, не бросайте тему без ответа или комментариев. Спасибо.

    Для связи [mail]

    11 января 2013 г. 7:34