C# 使用MVVM在代码中动态设置资源
因此,基本上我正在尝试通过使用MVVM模式的代码设置DynamicSource 这些是我的资源:C# 使用MVVM在代码中动态设置资源,c#,wpf,mvvm,C#,Wpf,Mvvm,因此,基本上我正在尝试通过使用MVVM模式的代码设置DynamicSource 这些是我的资源: <SolidColorBrush x:Key="UserGroupUserBrush" Color="Transparent"/> <SolidColorBrush x:Key="UserGroupSetterBrush" Color="Yellow"/> <SolidColorBrush x:Key="UserGrougShiftLeaderBrush" Color=
<SolidColorBrush x:Key="UserGroupUserBrush" Color="Transparent"/>
<SolidColorBrush x:Key="UserGroupSetterBrush" Color="Yellow"/>
<SolidColorBrush x:Key="UserGrougShiftLeaderBrush" Color="{StaticResource ZFBlueColor}"/>
<SolidColorBrush x:Key="UserGroupTeamLeaderBrush" Color="Black"/>
在这里,我要设置资源:
<Ellipse DataContext="{vw:AdapterBinding UserManagementAdapter}" Fill="{DynamicResource UserGroupSetterBrush}" Height="20" Width="20" Margin="0,0,5,0"/>
假设我想在代码中将资源“UserGroupSetterBrush”更改为“UserGroupUserBrush”。使用MVVM模式执行此操作的正确方法是什么
使用MVVM模式执行此操作的正确方法是什么
在某个视图或某个视图相关类的代码隐藏中。资源和画笔只是视图的一部分。视图模型根本不知道也不关心这些,因此在MVVM和非MVVM应用程序之间使用或设置资源基本上没有区别
视图模型不应更改椭圆
的填充
属性。它可能会更改Fill
属性绑定到的源属性,但不应使用DynamicResource
设置该属性,而应将其绑定到视图模型的Brush
源属性,并在视图模型中设置该属性