У меня есть несколько ресурсов, объявленных в разметке XAML, и я хотел бы получить доступ к ресурсам в моей модели представления. Я мог бы легко использовать что-то foo.Resources["resourceKey"] or findResource("")
, но это означало бы, что я должен был бы соединить мой код XAML и C # вместе. Не то, что я намеревался сделать, когда я начал использовать MVVM.
Существует ли передовая практика или какой-либо способ использования ресурсов, определенных в представлении в модели представления?
Обновление:
Ресурсы в основном являются определениями символов, которые используются для определения внешнего вида символов на картах ESRI.
Например это:
<esri:MarkerSymbol x:Key="SMS">
<esri:MarkerSymbol.ControlTemplate>
<ControlTemplate>
<Ellipse x:Name="Element" Margin="-7,-7,0,0" Width="14" Height="14" Fill="Blue">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="SelectionStates">
<VisualState x:Name="Unselected" />
<VisualState x:Name="Selected">
<Storyboard>
<ColorAnimation Storyboard.TargetName="Element" Storyboard.TargetProperty="(Ellipse.Fill).(SolidColorBrush.Color)" To="Green" Duration="00:00:0.25"/>
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
</Ellipse>
</ControlTemplate>
</esri:MarkerSymbol.ControlTemplate>
</esri:MarkerSymbol>
Символы добавляются на карту программно, хотя мне нужно получить к ним доступ в моей модели вида.