Wpf web.config绑定-ItemsControl与其项源不一致
我正在构建一个工具来显示和编辑web.config,并希望添加一个add按钮,以便可以向web.config添加额外的connectionstring 视图模型:Wpf web.config绑定-ItemsControl与其项源不一致,wpf,binding,web-config,connection-string,observablecollection,Wpf,Binding,Web Config,Connection String,Observablecollection,我正在构建一个工具来显示和编辑web.config,并希望添加一个add按钮,以便可以向web.config添加额外的connectionstring 视图模型: private ConnectionStringSettingsCollection _ConnectionStrings; public ConnectionStringSettingsCollection ConnectionStrings { get {
private ConnectionStringSettingsCollection _ConnectionStrings;
public ConnectionStringSettingsCollection ConnectionStrings
{
get
{
return _ConnectionStrings;
}
set
{
if (_ConnectionStrings != value)
{
_ConnectionStrings = value;
RaisePropertyChanged("ConnectionStrings");
}
}
}
private void ExecuteAddConnectionString()
{
ConnectionStrings.Add(new ConnectionStringSettings("a","b","c"));
}
private void ReadConfig()
{
ConnectionStrings = config.ConnectionStrings.ConnectionStrings;
}
public void CreateConfig()
{
string webDirPath = (PathWithoutFile());
var vdm = new VirtualDirectoryMapping(webDirPath, true, "web.config");
var wcfm = new WebConfigurationFileMap();
wcfm.VirtualDirectories.Add("/", vdm);
config = WebConfigurationManager.OpenMappedWebConfiguration(wcfm, "/");
}
视图:
因此,当我单击“添加”按钮时,会出现以下错误:
ItemsControl与其items源不一致
我知道这是因为GUI没有收到关于更改的通知,但是在我的情况下,我该如何解决它呢?我能以某种方式将字符串连接到可观察的集合吗
非常感谢尝试使用ObservableCollection。可能重复我认为这与我遇到的问题不同。
<TabItem Header="ConnectionString">
<GroupBox Header="ConnectionStrings" BorderBrush="Black" BorderThickness="2" Margin="5">
<ListBox ItemsSource="{Binding ConnectionStrings}" Margin="5" Background="Transparent" BorderThickness="0">
<ListBox.ItemTemplate >
<DataTemplate >
<ContentControl >
<vm:ConnectionStringAdd Width="400" Margin="5"/>
</ContentControl>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</GroupBox>
</TabItem>