Saya memiliki file kamus sumber daya (MenuTemplate.xaml, ButtonTemplate.xaml, dll) yang ingin saya gunakan di beberapa aplikasi terpisah. Saya bisa menambahkannya ke rakitan aplikasi, tetapi lebih baik jika saya mengkompilasi sumber daya ini dalam satu rakitan tunggal dan meminta rujukan aplikasi saya, kan?
Setelah perakitan sumber daya dibangun, bagaimana saya bisa merujuknya di App.xaml dari aplikasi saya? Saat ini saya menggunakan ResourceDictionary.MergedDictionaries untuk menggabungkan masing-masing file kamus. Jika saya memilikinya di sebuah majelis, bagaimana saya bisa merujuk mereka di xaml?
.net
wpf
xaml
controltemplate
resourcedictionary
Gus Cavalcanti
sumber
sumber
Jawaban:
Lihatlah sintaksis paket URI . Anda menginginkan sesuatu seperti ini:
sumber
AppDomain.AssemblyResolve
untuk membantunya menemukan perakitan.Contoh, hanya untuk menjadikan ini jawaban 15 detik -
Katakanlah Anda memiliki "styles.xaml" di perpustakaan WPF bernama "umum" dan Anda ingin menggunakannya dari proyek aplikasi utama Anda:
Bersulang
sumber
Saya bekerja dengan .NET 4.5 dan tidak bisa menjalankan ini ... Saya menggunakan WPF Custom Control Library. Ini bekerja untuk saya pada akhirnya ...
sumber: http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/11a42336-8d87-4656-91a3-275413d3cc19
sumber
DLL Hanya Sumber Daya adalah opsi untuk Anda. Tapi itu tidak diperlukan tentu kecuali Anda ingin memodifikasi sumber daya tanpa kompilasi ulang aplikasi. Memiliki hanya satu file ResourceDictionary umum juga merupakan opsi. Tergantung seberapa sering Anda mengubah sumber daya dan sebagainya.
MyAssembly - Hanya nama perakitan tanpa ekstensi
FolderStructureInAssembly - Jika sumber daya Anda ada dalam lipatan, tentukan struktur folder
Ketika Anda melakukan ini, lebih baik untuk menyadari siteOfOrigin juga.
sumber
Untuk UWP:
sumber
Menggunakan XAML:
Jika Anda tahu lain
assembly
struktur dan inginresources
di c # kode, kemudian gunakan kode di bawah:Keluaran: Jika kita ingin menggunakan
ResourceDictionary
RD1.xaml
ProyekWpfControlLibrary1
ke dalamStackOverflowApp
proyek.Struktur Proyek :
Kamus Sumber:
Output Kode:
PS: Semua
ResourceDictionary
File harus memilikiBuild Action
'Resource
' atau 'Page
'.Menggunakan C #:
sumber