微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C#:在带有数据绑定文本框的List <Customer>中进行导航

如何解决C#:在带有数据绑定文本框的List <Customer>中进行导航

|| 尝试了几个小时后,我对wpf的复杂数据绑定概念非常困惑:-/ 在几个文本框中显示我的业务对象(例如Name,Street ..)属性的最简单方法是什么? 目标是: 用户可以浏览记录(下一个,上一个) 双向绑定-文本框中的更改也应更改基础属性的值。 我已经弄清楚了如何将框绑定到属性,但是如何实现到下一个/上一个记录的导航? 提前致谢!     

解决方法

        您将要查看ICollectionView方法。 这是一个工作示例: xaml:
<Window.Resources>
    <x:Array x:Key=\"myPeoples\" Type=\"{x:Type local:Person}\">
        <local:Person Name=\"Bob Marley\" Address=\"123 street\" />
        <local:Person Name=\"Ted Nugent\" Address=\"456 street\" />
        <local:Person Name=\"Ron Paul\" Address=\"789 street\" />
    </x:Array>
</Window.Resources>
<DockPanel>
    <StackPanel DockPanel.Dock=\"Bottom\" Orientation=\"Horizontal\">
        <Button x:Name=\"cmdPrevious\" Click=\"cmdPrevious_Click\">Previous</Button>
        <Button x:Name=\"cmdNext\" Click=\"cmdNext_Click\">Next</Button>
    </StackPanel>
    <Grid DockPanel.Dock=\"Top\" DataContext=\"{StaticResource myPeoples}\">
        <Grid.ColumnDefinitions>
            <ColumnDefinition />
            <ColumnDefinition />
        </Grid.ColumnDefinitions>
        <TextBox Grid.Column=\"0\" Text=\"{Binding Path=Name}\" />
        <TextBox Grid.Column=\"1\" Text=\"{Binding Path=Address}\" />
    </Grid>
</DockPanel>
后面的代码:
private void cmdPrevious_Click(object sender,RoutedEventArgs e)
{
    Person[] peoples = this.FindResource(\"myPeoples\") as Person[];
    System.ComponentModel.ICollectionView collectionView = CollectionViewSource.GetDefaultView(peoples);
    collectionView.MoveCurrentToPrevious();

}

private void cmdNext_Click(object sender,RoutedEventArgs e)
{
    Person[] peoples = this.FindResource(\"myPeoples\") as Person[];
    System.ComponentModel.ICollectionView collectionView = CollectionViewSource.GetDefaultView(peoples);
    collectionView.MoveCurrentToNext();
}
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。