【发布时间】:2017-02-15 15:02:07
【问题描述】:
我正在尝试构建一个 DTO 来存储软件配置,但我被卡住了,因为我的视图没有将数据发送到我的 ViewModel 以及我的 DTO。 我需要将 2 个文本框和 3 个组合框传输到我的 DTO,但使用此代码时,值始终为空。
我的 ViewModel:
public class ViewModelProcessamentoArquivo : ViewModelBase
{
private PesquisaConfiguracao pesquisaConfiguracao;
public PesquisaConfiguracao PesquisaConfiguracao
{
get { return pesquisaConfiguracao; }
set
{
pesquisaConfiguracao = value;
base.OnPropertyChanged("PesquisaConfiguracao");
}
}
}
我的 DTO/模型
public class PesquisaConfiguracao
{
public string ArquivoOrigem { get; set; }
public string ArquivoDestino { get; set; }
public string TipoPesquisa { get; set; }
public string PesquisaVeicular { get; set; }
public string PesquisaCrediticia { get; set; }
}
而我的观点是这样的。
<TextBox Name="txtBuscarArquivoOrigem" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="3" Height="30" Margin="10, 0" Text="{Binding PesquisaConfiguracao.ArquivoOrigem}" />
<TextBox x:Name="txtBuscarArquivoDestino" Grid.Row="4" Grid.Column="0" Grid.ColumnSpan="3" Height="30" Margin="10, 0" Text="{Binding PesquisaConfiguracao.ArquivoDestino}" IsEnabled="false" />
...
你们知道为什么会这样吗?我在我的其他项目中使用了类似的东西并且工作得很好。另外,如果您有任何其他可能的方法来解决此问题,请发表评论!
【问题讨论】:
-
PesquisaConfiguracao曾经初始化过吗? -
我认为你应该在 PesquisaConfiguracao 上实现 INotifyPropertyChanged
-
@EdPlunkett 同意.. 可能 pesquisaConfiguracao = new PesquisaConfiguracao()。
-
在“ViewModel”构造函数中初始化。
标签: c# wpf model viewmodel model-binding