Binding WPF int and int?
本文关键字:int and Binding WPF | 更新日期: 2023-09-27 18:33:17
我有这样的模板列。当我在其他列中设置属性时,我重新生成列并为网格调用 UpdateLayout,之后我的组合框不绑定 int 的属性,但是当此属性为 int 时?一切正常。请帮助我解释这种行为。
<TemplateColumnMetadata Name="User" Header="User" MinWidth="150">
<TemplateColumnMetadata.ColumnTemplate>
<DataTemplate>
<ComboBox
ItemsSource="{Binding Model.Users}"
DisplayMemberPath="Name"
SelectedValuePath="Id"
SelectedValue="{Binding UserId, UpdateSourceTrigger=PropertyChanged}"
IsEnabled="{Binding IsCellEditable}">
<ComboBox>
</DataTemplate>
<TemplateColumnMetadata.ColumnTemplate>
<TemplateColumnMetadata>
1.此代码有效
public int? UserId
{
get { return Model.UserId; }
set
{
Model.UserId= value.Value;
}
}
2.此代码不起作用
public int UserId
{
get { return Model.UserId; }
set
{
Model.UserId= value;
}
}
出现此问题的原因是 xaml 中的空值和绑定已中断。所以它对int有用?但它对 int 不起作用。