本文介绍了XPath的:绑定到集合的最后一个项目的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

限时删除!!

我能绑定 TextBox.Text 的ObservableCollection&LT的最后一个项目;串>

我试过这样:

<TextBox Text={Binding XPath="Model/CollectionOfString[last()]"/>

不过,这并不绑定。

But it doesn't bind.

感谢您。

推荐答案

请尝试以下方法,

1,使用的IValueConverter。

1, use IValueConverter.

class DataSourceToLastItemConverter : IValueConverter
{
    public object Convert(object value, System.Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        IEnumerable<object> items = value as IEnumerable<object>;
        if (items != null)
        {
            return items.LastOrDefault();
        }
        else return Binding.DoNothing;
    }

    public object ConvertBack(object value, System.Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        throw new System.NotImplementedException();
    }
}

然后,像这样绑定:

Then binding like this:

<Grid>
    <Grid.Resources>
        <local:DataSourceToLastItemConverter x:Key="DataSourceToLastItemConverter" />
    </Grid.Resources>
    <TextBox Text="{Binding Path=Model.CollectionOfString,Converter={StaticResource DataSourceToLastItemConverter}}"/>
</Grid>

这篇关于XPath的:绑定到集合的最后一个项目的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

1403页,肝出来的..

09-06 19:12