2014-03-03 25 views
0

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

我想是这样的[1作为“文件名”

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

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

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

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

是的,你应该SelectedValue属性设置为DependencyProperty绑定。然后,只要你想使用它,它就在你的处置。您也可以使用DependencyProperty更改的事件。