使用MVVM与绑定的DTO交互

时间:2014-03-03 19:05:10

标签: c#

我目前正在将我的列表框绑定到DTO。遵循MVVM模式,如何与从列表框中选择的内容进行交互。

我想要这样的东西[1是“FileName”

If (Listbox.Selecteditem[1] == "samplefilename")
{ Messagebox.Show("Files matched"}

但是如何使用MVVM完成这项工作?我是否必须创建SelectedValue绑定/属性?

public class FilesDTO : IDTO
{
    public int Id { get; set; }
    public string FileName { get; set; }
    public string FileExtension { get; set; }
    public byte[] FileArray { get; set; }
}

2 个答案:

答案 0 :(得分:2)

您只需要在ViewModel和XAML中添加“SelectedFileDTO”,确保将其设置为TwoWay。当它在视图中更改时,您的SelectedFileDTO设置器将在ViewModel中被命中。

<ListBox ItemsSource={Binding Files} SelectedItem={Binding SelectedFileDTO, Mode=TwoWay}/>

public FilesDTO SelectedFileDTO
{
   get...
   set...
}

答案 1 :(得分:0)

是的,您应该将SelectedValue属性绑定到DependencyProperty。然后,无论何时您想使用它,它都可以随时使用。您还可以使用DependencyProperty更改的事件。