C# 修改ObjectDataProvider

C# 修改ObjectDataProvider,c#,wpf,xaml,user-controls,objectdataprovider,C#,Wpf,Xaml,User Controls,Objectdataprovider,我有一个使用ObjectDataProvider(App.xaml)的应用程序: } 然后我有一个用户控件,我在其中使用该颜色,例如: <Border Background="{Binding Source={StaticResource odpSettings}, Path=ItemColor,Mode=TwoWay}" /> 当我使用ColorPicker更改颜色时,UserControl中的颜色不会更改,我想这是因为

我有一个使用ObjectDataProvider(App.xaml)的应用程序:

}

然后我有一个用户控件,我在其中使用该颜色,例如:

<Border Background="{Binding Source={StaticResource odpSettings}, 
                             Path=ItemColor,Mode=TwoWay}" />
当我使用ColorPicker更改颜色时,UserControl中的颜色不会更改,我想这是因为我正在创建AppSettings类的新实例

有没有办法完成我想做的事情

提前谢谢


阿尔贝托

谢谢你的评论,我使用了下一个代码:

AppSettings objSettings = (AppSettings)((ObjectDataProvider)Application.Current.FindResource("odpSettings")).ObjectInstance;
这样我就可以访问和修改属性ItemColor的值

我还将属性类型更改为SolidColorBrush

objSettings.ItemColor = new SolidColorBrush(colorPicker.SelectedColor);

能否尝试设置
Application.Current.Resources[“odpSettings”]=new-AppSettings()?您的代码首先无法工作,因为
背景
类型为
画笔
,绑定属性类型为
颜色
AppSettings objSettings = new AppSettings();
objSettings.ItemColor = colorPicker.SelectedColor;
AppSettings objSettings = (AppSettings)((ObjectDataProvider)Application.Current.FindResource("odpSettings")).ObjectInstance;
objSettings.ItemColor = new SolidColorBrush(colorPicker.SelectedColor);