DataBoundコレクションにアイテムを追加するときにビューが更新されないのはなぜですか?

ベンジャミンホール

私の簡略化されたコードは次のようになります。

モデル

class Playlist : INotifyPropertyChanged
{
    public event PropertyChangedEventHandler PropertyChanged;
    private void NotifyPropertyChanged(string PropertyName)
    {
        if (PropertyChanged != null)
            PropertyChanged(this, new PropertyChangedEventArgs(PropertyName));
    }

    private ObservableCollection<Track> _tracks;
    public ObservableCollection<Track> Tracks
    {
        get
        {
            return _tracks;
        }
        set
        {
            _tracks = value;
            NotifyPropertyChanged("Tracks");
        }
    }
}

ViewModel

class HubPageViewModel : INotifyPropertyChanged
{
    private Playlist _currentPlaylist;

    public event PropertyChangedEventHandler PropertyChanged;

    private void NotifyPropertyChanged(String info)
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(info));
        }
    }

    public Playlist CurrentPlaylist
    {
        get
        {
            return _currentPlaylist;
        }
        set
        {
            _currentPlaylist = value;
            NotifyPropertyChanged("CurrentPlaylist");
        }
    }

    public HubPageViewModel()
    {
        _currentPlaylist = new Playlist();
    }
}

見る

public sealed partial class HubPage : Page
{
    private HubPageViewModel _hubPageViewModel;

    public HubPageViewModel HubPageViewModel
    { 
        get
        {
            return _hubPageViewModel;
        }
    }

    public HubPage()
    {
        this.InitializeComponent();

        viewModel = new HubPageViewModel();
    }
}

XAML

<Page
x:Class="MyProject.HubPage"
DataContext="{Binding HubPageViewModel , RelativeSource={RelativeSource Self}}"
mc:Ignorable="d">

<snip>

    <HubSection x:Uid="HubSection5" Header="Now Playing"
                    DataContext="{Binding CurrentPlaylist}" HeaderTemplate="{ThemeResource HubSectionHeaderTemplate}">
            <DataTemplate>
                <ListView 
                    AutomationProperties.AutomationId="ItemListViewSection5"
                    AutomationProperties.Name="Items In Group"
                    SelectionMode="None"
                    IsItemClickEnabled="True"
                    ItemsSource="{Binding Tracks}"
                    ItemClick="ItemView_ItemClick"
                    ContinuumNavigationTransitionInfo.ExitElementContainer="True">
                    <ListView.ItemTemplate>
                        <DataTemplate>
                            <StackPanel Margin="0,0,0,27.5" Holding="StackPanel_Holding">
                                <TextBlock Text="{Binding Title}" Style="{ThemeResource ListViewItemTextBlockStyle}" />
                            </StackPanel>
                        </DataTemplate>
                    </ListView.ItemTemplate>
                </ListView>
            </DataTemplate>
        </HubSection>
 <snip>

なぜビューの更新は、ときに私は、追加または削除されませんTrack私にPlaylist

ベンジャミンホール

問題が見つかりました。トラックを正しく削除または追加していませんでした。Collectionプロパティではなく、モデルで変更しました。

プロパティを変更すると、イベントが通過し、ビューが更新されます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

DataBoundコレクションにアイテムを追加するときにビューが更新されないのはなぜですか?

分類Dev

型付きデータセットをWCFサービスに追加すると、クライアントがコレクションに配列を使用するように強制されるのはなぜですか?

分類Dev

コレクションビューのセルに画像ビューが表示されないことがあるのはなぜですか?

分類Dev

ビューモデルを必要とするコントローラーアクションビューを呼び出すMVCフォームを投稿します。ViewModelがビューに送信されないのはなぜですか?

分類Dev

テーブルまたはコレクションビューの下部にアイテムを追加するにはどうすればよいですか?

分類Dev

バインドされた監視可能なコレクションにアイテムが追加されたときに、WPFツリービューの可視性コンバーターが更新されない

分類Dev

iOS 11のコレクションビューの大きなタイトルのナビゲーションバーに更新コントロールを追加するにはどうすればよいですか?

分類Dev

コレクションに新しいアイテムを追加した後、MongoDBクエリが遅くなるのはなぜですか?

分類Dev

最上位16ビットのいずれかが設定されているメモリにアクセスするときにセグメンテーション違反アドレスがNULLになるのはなぜですか?

分類Dev

最上位16ビットのいずれかが設定されているメモリにアクセスするときにセグメンテーション違反アドレスがNULLになるのはなぜですか?

分類Dev

画像ビューにレイヤーを追加しているときにCAShapeLayerに余分な行が表示されるのはなぜですか

分類Dev

更新しないサブスクリプションが、アイテムを再度購入するときに「このアプリ内購入はすでに購入されています。無料で復元されます。」と表示されるのはなぜですか?

分類Dev

itemControllerを使用すると、空のアイテムのコレクションがレンダリングされるのはなぜですか?

分類Dev

ViewSetで「as_view」メソッドを使用してビューを取得するときにアクションデコレータのkwargsが渡されない

分類Dev

コレクションが更新されたときにテンプレートの一部を更新するにはどうすればよいですか?

分類Dev

コンピュータにオペレーティングシステムがインストールされていない場合、キーボードのレイアウトを変更することはできますか?

分類Dev

ページングファイルがオペレーティングシステムドライブから分離されているときに、Windows 7がクラッシュの詳細を記録しないのはなぜですか?これについて何かできますか?

分類Dev

なぜ私はイテレータによってコレクションに項目を追加することができますか?

分類Dev

リストビューのアイテムがクリックされたとき、ビューの色を赤にするにはどうすればよいですか、他のアイテムは黒になりますか?

分類Dev

すべてのドキュメントとコレクションを削除するときに、firestoreが保存されているバイトとオブジェクトを削除しないのはなぜですか?

分類Dev

コレクションビューセルがiPhoneシミュレーターに表示されないのはなぜですか?

分類Dev

リンクリストにアイテムを追加すると、セグメンテーション違反が発生するのはなぜですか?

分類Dev

ソートされたコレクションで作業しているときに、Javaが開発者にデフォルトの比較メカニズムを使用するのではなく、比較メカニズムを追加するように要求するのはなぜですか?

分類Dev

xamlにバインドされたコントロールがないコレクションアイテムプロパティを更新するにはどうすればよいですか?

分類Dev

ナビゲーションドロワーアイコンがアクションバーに表示されないのはなぜですか?

分類Dev

formArrayからアイテムを削除するときにビューが更新されない

分類Dev

スクロール可能なセクションのビューポートにあるときにアイテムのスタイルプロパティを変更するにはどうすればよいですか?

分類Dev

新しいサブスクリプションが作成されたときにスキャンアキュムレータ値がリセットされるのに、shareReplay(1)を使用している場合はリセットされないのはなぜですか?

分類Dev

Chromeのヒープスナップショットのガベージコレクションルート部分に接続されていないアイテムがあるのはなぜですか?

Related 関連記事

  1. 1

    DataBoundコレクションにアイテムを追加するときにビューが更新されないのはなぜですか?

  2. 2

    型付きデータセットをWCFサービスに追加すると、クライアントがコレクションに配列を使用するように強制されるのはなぜですか?

  3. 3

    コレクションビューのセルに画像ビューが表示されないことがあるのはなぜですか?

  4. 4

    ビューモデルを必要とするコントローラーアクションビューを呼び出すMVCフォームを投稿します。ViewModelがビューに送信されないのはなぜですか?

  5. 5

    テーブルまたはコレクションビューの下部にアイテムを追加するにはどうすればよいですか?

  6. 6

    バインドされた監視可能なコレクションにアイテムが追加されたときに、WPFツリービューの可視性コンバーターが更新されない

  7. 7

    iOS 11のコレクションビューの大きなタイトルのナビゲーションバーに更新コントロールを追加するにはどうすればよいですか?

  8. 8

    コレクションに新しいアイテムを追加した後、MongoDBクエリが遅くなるのはなぜですか?

  9. 9

    最上位16ビットのいずれかが設定されているメモリにアクセスするときにセグメンテーション違反アドレスがNULLになるのはなぜですか?

  10. 10

    最上位16ビットのいずれかが設定されているメモリにアクセスするときにセグメンテーション違反アドレスがNULLになるのはなぜですか?

  11. 11

    画像ビューにレイヤーを追加しているときにCAShapeLayerに余分な行が表示されるのはなぜですか

  12. 12

    更新しないサブスクリプションが、アイテムを再度購入するときに「このアプリ内購入はすでに購入されています。無料で復元されます。」と表示されるのはなぜですか?

  13. 13

    itemControllerを使用すると、空のアイテムのコレクションがレンダリングされるのはなぜですか?

  14. 14

    ViewSetで「as_view」メソッドを使用してビューを取得するときにアクションデコレータのkwargsが渡されない

  15. 15

    コレクションが更新されたときにテンプレートの一部を更新するにはどうすればよいですか?

  16. 16

    コンピュータにオペレーティングシステムがインストールされていない場合、キーボードのレイアウトを変更することはできますか?

  17. 17

    ページングファイルがオペレーティングシステムドライブから分離されているときに、Windows 7がクラッシュの詳細を記録しないのはなぜですか?これについて何かできますか?

  18. 18

    なぜ私はイテレータによってコレクションに項目を追加することができますか?

  19. 19

    リストビューのアイテムがクリックされたとき、ビューの色を赤にするにはどうすればよいですか、他のアイテムは黒になりますか?

  20. 20

    すべてのドキュメントとコレクションを削除するときに、firestoreが保存されているバイトとオブジェクトを削除しないのはなぜですか?

  21. 21

    コレクションビューセルがiPhoneシミュレーターに表示されないのはなぜですか?

  22. 22

    リンクリストにアイテムを追加すると、セグメンテーション違反が発生するのはなぜですか?

  23. 23

    ソートされたコレクションで作業しているときに、Javaが開発者にデフォルトの比較メカニズムを使用するのではなく、比較メカニズムを追加するように要求するのはなぜですか?

  24. 24

    xamlにバインドされたコントロールがないコレクションアイテムプロパティを更新するにはどうすればよいですか?

  25. 25

    ナビゲーションドロワーアイコンがアクションバーに表示されないのはなぜですか?

  26. 26

    formArrayからアイテムを削除するときにビューが更新されない

  27. 27

    スクロール可能なセクションのビューポートにあるときにアイテムのスタイルプロパティを変更するにはどうすればよいですか?

  28. 28

    新しいサブスクリプションが作成されたときにスキャンアキュムレータ値がリセットされるのに、shareReplay(1)を使用している場合はリセットされないのはなぜですか?

  29. 29

    Chromeのヒープスナップショットのガベージコレクションルート部分に接続されていないアイテムがあるのはなぜですか?

ホットタグ

アーカイブ