0

次の Binding は、アクティビティと呼ばれる IEnumerable にあります。問題は、私の xaml では...配列の最初の要素のみを出力したいということです。これらの行に沿って何かできますか:

<Run Text="{Binding activity[0].created_by.name}"></Run>

それとも、アクティビティの IEnumerable 配列用に別のデータ テンプレートをリンクする必要がありますか?

これが ActivityStream クラスのプロパティです (List であることがわかりました..うーん.)

...
    [DataMember]
    public List<object> activity { get; set; }
...

そして、ここでPropertyChangedやだやだのことをします

    public IEnumerable<JamesStream> activityStream;

...

    private async void LoadActivityStreamSection()
    {
        activityStreamRepository = new JamesStreamRepository();
        var tempActivityStream = await activityStreamRepository.GetAllBySpaceId(space.space_id);

        activityStream = tempActivityStream;
        ActivityStream = null;

        //The Activitiy Stream has a property which is of type List<object> called activity
        // In my xaml I just want to be outputting the 1st entry of the List<object> property .created_by_name
    }

    public event PropertyChangedEventHandler PropertyChanged;

    protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
    {
        PropertyChangedEventHandler tempEvent = PropertyChanged;

        if (tempEvent != null)
        {
            // property changed
            tempEvent(this, new PropertyChangedEventArgs(propertyName));
        }
    }

    public IEnumerable<JamesStream> ActivityStream
    {
        get
        {
            return activityStream;
        }
        set
        {
            if (activityStream != value)
            {
                OnPropertyChanged();
            }
        }
    }
4

2 に答える 2

0

IEnumerable に .First プロパティがある場合、それにアタッチできますか?

于 2013-10-19T17:44:15.710 に答える
0

あなたのコードは動作します...通常:)。

コレクションをどのように埋めているか教えていただけますか? INotifyPropertyChanged(またはコレクションのINotifyのような)イベントを発生させないためだと思います

于 2013-10-19T17:49:29.723 に答える