Имам проста мрежа от данни, свързана с ObservableCollection. Трябва да показва само една колона.
XAML изглежда така:
<DataGrid IsReadOnly="True" ItemsSource="{Binding InputList, UpdateSourceTrigger=PropertyChanged}"
HorizontalAlignment="Stretch" VerticalAlignment="Stretch" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Parameter Name" Binding="{Binding Name, UpdateSourceTrigger=PropertyChanged}">
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
В моя ViewModel ObservableCollection изглежда така:
public ObservableCollection<InputParameter> InputList { get; set; }
InputParameter съдържа свойство на низ "Име", което искам да покажа. Ако добавя някои параметри в конструктора по следния начин:
InputParameter parameter = new InputParameter("test1");
InputList.Add(parameter);
елементът се показва, но ако направя същото в метод, който се извиква при някакво събитие и списъкът не се актуализира. Какво ми липсва тук?
Това е кодът, който трябва да добави елементи към колекцията при събитието PropertyChanged, но дисплеят не се актуализира:
Manager.PropertyChanged += (obj, e) =>
{
if(e.PropertyName == "Inputs")
{
foreach (InputParameter param in Manager.Inputs)
{
parameter = new InputParameter("test2");
InputList.Add(parameter);
// InputList.Add(param);
}
};
};
Name
свойство - person Mujahid Daud Khan   schedule 15.05.2014