C# 修改ObjectDataProvider
我有一个使用ObjectDataProvider(App.xaml)的应用程序: } 然后我有一个用户控件,我在其中使用该颜色,例如: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中的颜色不会更改,我想这是因为
<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);