Shared project with resource dictionary (xaml)

前端 未结 3 1568
长发绾君心
长发绾君心 2021-01-13 12:59

I am looking for a way to share ResourceDictionary between projects.

Adding new item to shared project doesn\'t offer resource dictionary. It can be crea

3条回答
  •  野趣味
    野趣味 (楼主)
    2021-01-13 13:47

    It's possible to manually edit shared project to set build action for resource dictionary.

    Shared project consists of Project.shproj and Project.projitems files, open second and locate dictionary there:

    
      
    
    

    Add after that

    
      
        MSBuild:Compile
        Designer
      
    
    

    it's a copy/paste thing from normal csproj for WPF project containing dictionary.

    Seems to work, though this build action is not visible when project is loaded into Visual Studio. Adding files to shared project doesn't affect this manual change.

    Now I can have shared project containing resource dictionary, yay!

    Resource dictionary can be merged into application dictionaries like if it's located in the root of the project (to use as static/dynamic resource in xaml designer):

    
        
            
                
                
            
        
    
    

    and/or loaded manually, e.g. using this pack Uri :

    var dictionary = new ResourceDictionary()
    {
         Source = new Uri("pack://application:,,,/FlexProperty.xaml"),
    };
    

提交回复
热议问题