Nullable int 属性 变为 public class 中的内部字段,它不继承任何 class
Nullable int property turns to internal field in public class which doesn't inherits from any class
公司class:
public class Company
{
public int CompanyId { get; set; }
public int? CountryId { get; set; }
}
我在调试器中得到以下输出:
我需要将此值绑定到 XAML,我想这就是值未绑定的原因。
谁能解释一下这种行为?
绑定到可为空的 属性 时,您是绑定到 属性 本身还是绑定到 property.Value?
绑定到 "myCompany.CompanyId.Value" 而不是 "myCompany.CompanyId".. 可空字段具有 'HasValue' 和 'Value' 的额外属性,并且不能直接绑定到。
即使您尝试将它们绑定到文本框或将其用作一般参数,您也需要进行存在性检查(通过 HasValue),然后处理实际的基础值(通过 Value)。因此,如果 CountryId 未初始化,'Value' 将评估为 'null' 并且您的绑定需要正确处理。 XAML 绑定处理 null 很容易,所以你应该好好去 :)
公司class:
public class Company
{
public int CompanyId { get; set; }
public int? CountryId { get; set; }
}
我在调试器中得到以下输出:
我需要将此值绑定到 XAML,我想这就是值未绑定的原因。
谁能解释一下这种行为?
绑定到可为空的 属性 时,您是绑定到 属性 本身还是绑定到 property.Value?
绑定到 "myCompany.CompanyId.Value" 而不是 "myCompany.CompanyId".. 可空字段具有 'HasValue' 和 'Value' 的额外属性,并且不能直接绑定到。
即使您尝试将它们绑定到文本框或将其用作一般参数,您也需要进行存在性检查(通过 HasValue),然后处理实际的基础值(通过 Value)。因此,如果 CountryId 未初始化,'Value' 将评估为 'null' 并且您的绑定需要正确处理。 XAML 绑定处理 null 很容易,所以你应该好好去 :)