0

サブジェ、どうやって手に入れるの?

        <controls:Pivot.TitleTemplate>
            <DataTemplate>
                <mainPivot:MyUserControl Name="MainPivotHeader"/>
            </DataTemplate>
        </controls:Pivot.TitleTemplate>

VisualTreeFinders で検索しようとしましたが、ピボット アイテムしか表示されません。

UserControl は画像を表示しますが、ユーザーによって異なります。最初の初期化中は、ユーザーがまだログインしていないため、空です。そのため、強制的に更新したいと思います。

mvvm ライト メッセージングを使用できますが、自給自足のコンポーネントを探しています。この強制はめったにないので、ここではメッセージを使用したくありません。

4

1 に答える 1

0

ピボットの Title プロパティを ViewModel のプロパティにバインドする必要があります。DataTemplate には、その DataContext が既にそのオブジェクトに設定されています。更新する必要がある場合は、そのオブジェクトに対して何らかのメソッドを呼び出します。

public class ViewModel : INotifyPropertyChanged
{
    private MyTitleObject _titleObject;

    public MyTitleObject TitleObject
    {
        get { return _titleObject; }
        set
        {
            _titleObject = value;
            OnPropertyChanged("TitleObject");
        }
    }

    public void Refresh()
    {
        TitleObject = new MyTitleObject();
        // or refresh values directly on the object
    }

    ...
}

ピボットの xaml は次のようにする必要があります

<controls:Pivot Title="{Binding TitleObject}">
</controls:Pivot>

更新する場合は、ビューモデルで更新を呼び出します。

于 2013-10-18T23:09:41.543 に答える