WPF MVVM添加文本框

时间:2016-08-18 11:38:07

标签: c# wpf mvvm

我正在构建WPF应用程序,我从API中重新启动数据。 我有JSON,用户必须输入值。但是我给出了数字的精确度,例如

{
  "beforeComma": 2,
  "afterComma": 5
}

使用上述JSON,我必须动态添加或拆分_ _ , _ _ _ _ _

的文本框

我试图这样做:

XAML

 <Grid Grid.Column="0" Grid.Row="0">
           <ItemsControl ItemsSource="{Binding InputsBeforeComma}">
                <ItemsControl.ItemTemplate>
                    <DataTemplate>
                        <TextBox Text="{Binding Path=.}"/>
                    </DataTemplate>
                </ItemsControl.ItemTemplate>
            </ItemsControl>
        </Grid>

VM

public ObservableCollection<string> InputsBeforeComma { get; set; } = new ObservableCollection<string>();
public ObservableCollection<string> InputsAfterComma { get; set; } = new ObservableCollection<string>();

Constructor()
{
  InputsBeforeComma.IncreaseSize(5); // depend of JSON
  InputsAfterComma.IncreaseSize(5); // depend of JSON
}

public static ICollection<T> IncreaseSize<T>(this ICollection<T> enumerable, int size)
{
  for (var i = 0; i < size; i++)
    enumerable.Add(default(T));
  return enumerable;
}

我认为这不是一个好的解决方案,有谁知道如何做得更好?

0 个答案:

没有答案