【问题标题】:Interacting with bound DTO using MVVM使用 MVVM 与绑定的 DTO 交互
【发布时间】:2014-03-03 19:05:10
【问题描述】:

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

我想要这样的东西 [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; }
}

【问题讨论】:

    标签: c#


    【解决方案1】:

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

    <ListBox ItemsSource={Binding Files} SelectedItem={Binding SelectedFileDTO, Mode=TwoWay}/>
    
    public FilesDTO SelectedFileDTO
    {
       get...
       set...
    }
    

    【讨论】:

      【解决方案2】:

      是的,您应该将SelectedValue 属性绑定到DependencyProperty。然后,只要您想使用它,它就在您的身边。您还可以提供 DependencyProperty 更改的事件以供使用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-11-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-05-29
        • 2014-01-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多