我有数据网格中列的是一个文本框控件,都设定为双向的结合。网格被绑定到可观察的集合。 问题:如果我在输入文本框中输入某个值,收集得到填充。现在如果我清除该文本框相同的情况并未反映到该集合中。我的绑定属性是可空的。Silverlight的数据网格双向结合
Thanks N Advance
我有数据网格中列的是一个文本框控件,都设定为双向的结合。网格被绑定到可观察的集合。 问题:如果我在输入文本框中输入某个值,收集得到填充。现在如果我清除该文本框相同的情况并未反映到该集合中。我的绑定属性是可空的。Silverlight的数据网格双向结合
Thanks N Advance
检查Visual Studio中的输出窗口是否存在绑定错误。您应该看到一条警告,表示没有从空字符串到整数的隐式转换。
你可以使用一个ValueConverter执行此任务。
看到其他途径此相关的问题。请注意,有些可能不适用,因为有WPF的焦点。
WPF binding not working properly with properties of int type
您可以使用
<TextBox IsReadOnly="True" Text="{Binding BUApprovalQty, Mode=TwoWay, TargetNullValue=''}"></TextBox>
我不知道您的问题可能是对的,可是我试过以下,它按预期工作:
我有一个简单的Person类:
public class Person : ObservableObject
{
private string name;
public string Name
{
get { return name; }
set
{
if (name == value)
return;
name = value;
RaisePropertyChanged(() => Name);
}
}
private int? age;
public int? Age
{
get { return age; }
set
{
if (age == value)
return;
age = value;
RaisePropertyChanged(() => Age);
}
}
}
我也有一个简单的Vie wModel与ObservableCollection<Person>
称为Data
。答,这是我的XAML:
<sdk:DataGrid Name="dataGrid" ItemsSource="{Binding Data}" AutoGenerateColumns="False"
SelectedItem="{Binding SelectedPerson, Mode=TwoWay}" Grid.Row="1">
<sdk:DataGrid.Columns>
<sdk:DataGridTextColumn Binding="{Binding Name, Mode=TwoWay}"/>
<sdk:DataGridTextColumn Binding="{Binding Age, Mode=TwoWay}"/>
</sdk:DataGrid.Columns>
</sdk:DataGrid>
我检查它是如何工作的通过设置在二传手断点我Age
财产,它显示了正在添加作为null
希望这有助于价值;)
清除TextBox应该使属性“空”,而不是“空”。你能证实这是怎么回事吗? – AbdouMoumen
对于字符串领域中,使得它作为空的,但在整数的情况下,我得到这个问题 –