WPF的绑定机制提供了非常便利的数据更新途径,在实际业务中,我们可以会遇到我们的UI组件,需要绑定到数据源上的某个数组中的指定的索引项。这种场景相对来讲是比较少用……
实际上,使用起来还是非常简单的,只需要在我们绑定的数据属性上,增加索引编号即可。
前端示例代码:
<Window x:Class="WpfApp3.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApp3"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Grid>
<!--此处代码是关键-->
<TextBlock Text="{Binding [0].Name}"/>
</Grid>
</Window>
后端测试代码:
public class TestProperty
{
public string Name { get; set; }
}
public MainWindow()
{
InitializeComponent();
TestProperty[] testProperties = new TestProperty[2];
testProperties[0] = new TestProperty
{
Name = "我是第一个,哈哈!"
};
testProperties[1] = new TestProperty
{
Name = "我是第二个"
};
this.DataContext = testProperties;
}
启动后效果如图所示:
绑定已经成功工作了,这里需要注意,如果索引不存在,该绑定也不会出现异常,只是保持默认值显示,此时的绑定也是同样生效的。