如何使用Caliburn.Micro将容器绑定到MVVM标准中的列表视图控件?

穆罕默德莫特

我正在使用MVVM(C#)编写程序XAML使用Caliburn.Micro库。

我想知道我怎么能结合我的一些容器,如Listview控件List<Type>IEnumerable<Type>还是ObservableCollection< Type>

Views \ MainView.xaml

<ListView Grid.Column="1" x:Name="FileListView" ItemsSource="{Binding ListOfFile}" VerticalAlignment="Stretch" HorizontalContentAlignment="Stretch" Margin="10" Background="#FFE6EEF7">
    <ListView.View>
        <GridView>
            <GridViewColumn Header="Status" Width="100" /> 
            <GridViewColumn Header="Name" Width="85" />
            <GridViewColumn Header="Size" Width="100" />
            <GridViewColumn Header="System Type" Width="100" />
            <GridViewColumn Header="Email Count" Width="100" />
            <GridViewColumn Header="Info Count" Width="100" />
        </GridView>
    </ListView.View>
</ListView>

ViewModels \ MainViewModel.cs

namespace ListBox_CaliburnMicro
{
    public class MainViewModel : Screen
    {
        // ...

        public MainViewModel()
        {

        }

        public class FileItem
        {
            public string FileStatus { get; private set; }
            public string FileName { get; private set; }
            public string FileSize { get; private set; }
            public string FileType { get; private set; }
            public string FileEmailCount { get; private set; }
            public string FileInfoCount { get; private set; }

            public FileItem(string s1 = "", string s2 = "", string s3 = "", string s4 = "", string s5 = "", string s6 = "")
            {
                FileStatus = s1;
                FileName = s2;
                FileSize = s3;
                FileType = s4;
                FileEmailCount = s5;
                FileInfoCount = s6;
            }
        }
    }
}
升压

首先,您应该在XAML上为属性编写标记。让我们想象一下您拥有:

模型:

public class Person
{
    public int IdPerson { get; set; }
    public string Name { get; set; }
    public string SurName { get; set; }
}

ViewModel:

public class MainWindowViewModel : INotifyPropertyChanged
{
    public MainWindowViewModel()
    {
        FillData();
    }

    private void FillData()
    {
        persons = new ObservableCollection<Person>();
        for (int i = 0; i < 30; i++)
        {
            persons.Add(new Person() { IdPerson = i, Name = "Ben & Joseph " + i.ToString(), SurName = "Albahari" });
        }   
    }

    private ObservableCollection<Person> persons;

    public ObservableCollection<Person> Persons
    {
        get { return persons; }
        set { persons = value;                
        }
    }


    public event PropertyChangedEventHandler PropertyChanged;
    public void OnPropertyChanged(string propertyName)
    {
        if(PropertyChanged!=null)
            PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
    }
}

更新:

XAML:

<Window x:Class="SOWpfApplication.MainWindow"
    ...the code omitted for the brevirt...
    xmlns:vm="clr-namespace:SOWpfApplication.ViewModel"
    Title="MainWindow" Height="750" Width="925" WindowStartupLocation="CenterScreen">
<Window.DataContext>
    <vm:MainWindowViewModel/>
</Window.DataContext>
    <ListView ItemsSource="{Binding Path=Persons}">
        <ListView.View>
          <GridView>
              <GridViewColumn Header="ID" Width="Auto" 
                   DisplayMemberBinding="{Binding IdPerson}" >
               </GridViewColumn>
               <GridViewColumn DisplayMemberBinding="{Binding Name}" 
                   Header="Name" Width="Auto"/>
               <GridViewColumn DisplayMemberBinding="{Binding SurName}" 
               Header="Price" Width="Auto"/>          
          </GridView>
       </ListView.View>
    </ListView>
</Window>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在 MVVM Caliburn.Micro 中绑定用户控件?

来自分类Dev

当我使用caliburn micro时如何将wpf网格上的按钮绑定到MVVM上的方法

来自分类Dev

如何使用Caliburn.Micro将源MediaCapture绑定到CaptureElement?

来自分类Dev

使用 Caliburn.Micro 在 MVVM WPF 中绑定

来自分类Dev

使用MVVM将命令绑定到DataTemplate中的控件

来自分类Dev

使用Caliburn.Micro将图像绑定到Uri

来自分类Dev

使用Caliburn Micro将WebView2绑定到ViewModel

来自分类Dev

如何使用Caliburn.Micro进行导航服务?

来自分类Dev

如何使用约定对Caliburn.Micro操作实施延迟

来自分类Dev

如何使用Caliburn.Micro.PhoneBootstrapper注册IMobileServiceClient

来自分类Dev

如何使用caliburn.micro更改Metro主题

来自分类Dev

如何使用Caliburn.Micro进行导航服务?

来自分类Dev

如何使用 Caliburn.Micro 和不同的 UserControl 制作 TabControl

来自分类Dev

带有项目控件的视图模型的Caliburn.Micro绑定列表

来自分类Dev

如何将View控件正确绑定到ViewModel列表(WPF MVVM)

来自分类Dev

UI在使用Caliburn Micro和BusyIndicator控件的WPF MVVM应用程序中未按预期更新

来自分类Dev

Caliburn.Micro,如何访问视图中使用的实际视图模型

来自分类Dev

将多个Caliburn.Micro视图模型绑定到同一视图的不同实例

来自分类Dev

使用caliburn micro的组合框绑定错误

来自分类Dev

Caliburn.Micro:如何将Conductor.Collection.AllActive的特定项绑定到ContentControl

来自分类Dev

使用Caliburn.Micro重用视图实例

来自分类Dev

Caliburn Micro - 使用 IResult 和渲染视图

来自分类Dev

如何在Caliburn.Micro 2中使用自定义窗口?

来自分类Dev

使用Caliburn.Micro的WinRT 8.1设置超级按钮:如何从设置中删除命令?

来自分类Dev

如何在WPF中强制内容卸载我的TabControl的所有TabItem?(使用Caliburn.micro)

来自分类Dev

使用Caliburn.Micro的动作

来自分类Dev

使用Caliburn.Micro将视图模型中的图像加载到视图中

来自分类Dev

使用Caliburn Micro从视图模型中的属性名称获取控制

来自分类Dev

使用Caliburn.Micro的视图模型中的气泡事件

Related 相关文章

  1. 1

    如何在 MVVM Caliburn.Micro 中绑定用户控件?

  2. 2

    当我使用caliburn micro时如何将wpf网格上的按钮绑定到MVVM上的方法

  3. 3

    如何使用Caliburn.Micro将源MediaCapture绑定到CaptureElement?

  4. 4

    使用 Caliburn.Micro 在 MVVM WPF 中绑定

  5. 5

    使用MVVM将命令绑定到DataTemplate中的控件

  6. 6

    使用Caliburn.Micro将图像绑定到Uri

  7. 7

    使用Caliburn Micro将WebView2绑定到ViewModel

  8. 8

    如何使用Caliburn.Micro进行导航服务?

  9. 9

    如何使用约定对Caliburn.Micro操作实施延迟

  10. 10

    如何使用Caliburn.Micro.PhoneBootstrapper注册IMobileServiceClient

  11. 11

    如何使用caliburn.micro更改Metro主题

  12. 12

    如何使用Caliburn.Micro进行导航服务?

  13. 13

    如何使用 Caliburn.Micro 和不同的 UserControl 制作 TabControl

  14. 14

    带有项目控件的视图模型的Caliburn.Micro绑定列表

  15. 15

    如何将View控件正确绑定到ViewModel列表(WPF MVVM)

  16. 16

    UI在使用Caliburn Micro和BusyIndicator控件的WPF MVVM应用程序中未按预期更新

  17. 17

    Caliburn.Micro,如何访问视图中使用的实际视图模型

  18. 18

    将多个Caliburn.Micro视图模型绑定到同一视图的不同实例

  19. 19

    使用caliburn micro的组合框绑定错误

  20. 20

    Caliburn.Micro:如何将Conductor.Collection.AllActive的特定项绑定到ContentControl

  21. 21

    使用Caliburn.Micro重用视图实例

  22. 22

    Caliburn Micro - 使用 IResult 和渲染视图

  23. 23

    如何在Caliburn.Micro 2中使用自定义窗口?

  24. 24

    使用Caliburn.Micro的WinRT 8.1设置超级按钮:如何从设置中删除命令?

  25. 25

    如何在WPF中强制内容卸载我的TabControl的所有TabItem?(使用Caliburn.micro)

  26. 26

    使用Caliburn.Micro的动作

  27. 27

    使用Caliburn.Micro将视图模型中的图像加载到视图中

  28. 28

    使用Caliburn Micro从视图模型中的属性名称获取控制

  29. 29

    使用Caliburn.Micro的视图模型中的气泡事件

热门标签

归档