2010-01-11 26 views
7

Bir Res1.resx'imiz var ve bir file1.doc dosyasına sahip. Daha sonra file1.doc dosyasını iş kurallarına göre resx dosyasında file2.doc ile değiştirmek isteriz. Bunu nasıl başarabilirim. Teşekkür NBir kaynak dosyasını dinamik olarak güncelle

+1

Proje derlendikten sonra programın içeriğini bir kaynak olarak değiştirin. İhtiyacın olan bu mu? – Codesleuth

+2

Bir saniye bekleyin! Bir Kaynak Dosyayı etkileyen bir iş kuralı ?! Ne demek istiyorsun? –

+1

:: Bir kaynak dosyasının içeriğini :: proje derlendikten sonra program tarafından değiştirilsin mi? Evet. –

cevap

2

Maalesef bir göz olmalıdır, ben bu bunu yapabilirsiniz

1

Tabii mümkün olabileceğini sanmıyorum. İşte kullandığımız bir kod. Daha fazla ayrıntıya ihtiyacınız varsa lütfen bana bildirin.

/// <summary> 
/// Sets or replaces the ResourceDictionary by dynamically loading 
/// a Localization ResourceDictionary from the file path passed in. 
/// </summary> 
/// <param name="resourceDictionaryFile">The resource dictionary to use to set/replace 
/// the ResourceDictionary.</param> 
private void SetCultureResourceDictionary(String resourceDictionaryFile) 
{ 
    // Scan all resource dictionaries and remove, if it is string resource distionary 
    for (int index= 0; index < Resources.MergedDictionaries.Count; ++index) 
    { 
     // Look for an indicator in the resource file that indicates that this 
     // is a dynamic file that should be removed before loading its replacement. 
     if (Resources.MergedDictionaries[index].Contains("ResourceDictionaryName")) 
     { 
      if (File.Exists(resourceDictionaryFile)) 
      { 
       Resources.MergedDictionaries.Remove(Resources.MergedDictionaries[index]); 
      } 
     } 
    } 

    // read required resource file to resource dictionary and add to MergedDictionaries collection 
    ResourceDictionary newResourceDictionary = new ResourceDictionary(); 
    newResourceDictionary.Source = new Uri(resourceDictionaryFile); 
    Resources.MergedDictionaries.Add(newResourceDictionary); 
} 
2

Derlenmiş kaynağı çalışma zamanında değiştirmeye çalışıyorsanız, en azından çirkin kesmeksizin mümkün olduğunu düşünmüyorum. Her neyse, mantıklı değil: eğer bir kaynaksa, değiştirilmek istenmiyor; ve eğer değiştirilmesi gerekiyorsa, kaynak olmamalıdır.

İlgili konular