我开发了一个 UWP应用,目前正在通过商店进行测试。 我使用商店版本遇到一个奇怪的问题,当我从 Visual Studio 构建应用时不会发生这种情况:这对于我理解它或调试它......
ComboBox 中的基本绑定:
<ComboBox ItemsSource="{Binding CoreOrderType}"
SelectedValue="{Binding CarForm.core_order_type, Mode=TwoWay}"
HorizontalAlignment="Stretch"
/>
=&GT;你有什么解释吗?我该怎么调试呢?
编辑1:添加ViewModel和模型中的相关代码
属性:
private Car_Forms _carForm;
public Car_Forms CarForm
{
get { return _carForm; }
set
{
this._carForm = value;
RaisePropertyChanged(() => CarForm);
}
}
private ObservableCollection<V_Core_Order> _vCoreOrders;
public ObservableCollection<V_Core_Order> VCoreOrders
{
get { return _vCoreOrders; }
set { Set(ref _vCoreOrders, value); }
}
=&GT; CarForm 是我的网页的“根”对象, VCoreOrders 是附加到ComboBox的列表
构造
public DetailsViewModel(Guid? id)
{
...
// Load Car_Forms
LoadDatas(id);
}
=&GT;在构造函数中,我调用 LoadDatas()方法,该方法加载表单和列表的详细信息
模型:
private string _core_order_type;
[MaxLength(200), NotNull]
public string core_order_type
{
get
{ return _core_order_type; }
set
{
if (value != _core_order_type)
{
_core_order_type = value;
if (value != null || value != string.Empty)
core_order_type_error = false;
RaisePropertyChanged(() => core_order_type);
}
}
}
=&GT;当我在Setter中放置断点时,我可以看到值永远不会为空
编辑2:添加新的详细信息和视频链接
最后问题不仅发生在商店版本上,所以这不是“本地代码”的问题:
我还添加了绑定到同一项目的 TextBlock : CarForm.core_order_type
<TextBlock Text="{Binding CarForm.core_order_type, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
我上传了一个显示相同表单开头的简短视频:我们可以看到问题是第一次出现,但不是以下时间: bug in video
在实践中,错误可能会发生几次:它确实是randomally。