簡體   English   中英

您是否可以顯示ListBox的第一個元素,而不是為xaml創建數據模板

[英]Can you display the first element of a ListBox rather than create a data template for xaml

以下綁定是基於IEnumerable的活動。 問題是,在我的xaml中...我只想輸出數組中的第一個元素。 您可以按照以下方式做些什么:

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

還是必須為活動IEnumerable數組鏈接另一個數據模板?

這是ActivityStream類的屬性(我現在注意到它是一個List..hmm。)

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

這是我在哪里做PropertyChanged yada yada的東西

    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();
            }
        }
    }

如果您的IEnumerable具有.First屬性,您是否可以附加到該屬性?

您的代碼正常工作... :)。

您能說明如何填寫您的收藏嗎? 我認為這可能是因為您沒有觸發INotifyPropertyChanged(或類似INotify的集合)事件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM