1
我正在开发一个小型应用程序,它需要将用户定义的值添加到网格中。问题是,即使他们认为他们添加正确(我检查了调试器),他们没有正确显示在网格中。将行添加到Silverlight 4中的DataGrid中
屏幕截图:
。
下面是代码:
XAML:
public ObservableCollection<DefaultValue> defaultValues;
//Class:
public class DefaultValue
{
public string DefVal;
public DefaultValue(string val)
{
this.DefVal = val;
}
}
初始化页面的构造函数:
<sdk:DataGrid x:Name="defaultValueDataGrid" AutoGenerateColumns="False" Height="150" Margin="0,0,10,0">
<sdk:DataGrid.Columns>
<sdk:DataGridTextColumn x:Name="valColumn" Binding="{Binding DefVal, Mode=OneWay}" IsReadOnly="True" Header="SomeHeader" Width="*" />
</sdk:DataGrid.Columns>
</sdk:DataGrid>
的ItemSource收集和容器类的定义:
this.defaultValues = new ObservableCollection<DefaultValue>();
this.defaultValueDataGrid.ItemsSource = this.defaultValues;
最后一点功能,增加值:
private void AddNewDefaultValueBtn_Click(object sender, RoutedEventArgs e)
{
if (!string.IsNullOrEmpty(this.newDefaultValueTxtBx.Text))
{
this.defaultValues.Add(new DefaultValue(this.newDefaultValueTxtBx.Text));
this.defaultValueDataGrid.ItemsSource = this.defaultValues;
}
}
没什么特别的,对不对?对,但它不起作用,我会欣赏提示和帮助。 Ps。我已经使用this教程。
谢谢,这解决了这一问题。重新尝试是尝试不同方法时剩下的一部分。队友的欢呼声 – neurotix 2011-12-30 09:57:24