我目前正在将我的列表框绑定到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; }
}
答案 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
更改的事件。