Mam aplikację, która używa oddzielnego zespołu biblioteki dla zasobów (ale nie jest to tylko zbiór zasobów bez kodu) i chciałbym dołączyć niestandardową czcionkę do biblioteki.W WPF, jak odniesienie do czcionki w bibliotece zasobów w kodzie?
Jestem w stanie pobrać czcionkę, która jest Open Type Font
, aby załadować, jeśli dodaję jej plik .otf jako zasób do projektu dla zespołu wykonującego (zamiast do projektu biblioteki zasobów), z właściwościami ustawionymi jako Budowanie Action = „Zasoby” i Copy to Output = „nie kopiuj”, za pomocą następującego kodu:
FontFamily font = new FontFamily(new Uri("pack://application:,,,/"),
"./Resources/#CustomFont")); // Resources is a subfolder
Gdy próbuję dodać czcionkę do projektu biblioteki zasobów, jednak czcionka nie ładuje . Próbowałem za pomocą poniższego kodu, aby go załadować (również z dopiskiem: Nie mam dużego doświadczenia z URI Pack):
FontFamily font = new FontFamily(new Uri("pack://application:,,,/MyLibrary"),
"./Resources/#CustomFont"));
// there is a Resources subfolder in my library as well
// not sure about whether I need the .
Biblioteka działa dla innych zasobów, takich jak obrazy.
Próbowałem również kilka innych permutacji dla URI bez powodzenia (nie rzuca wyjątków, tylko wyświetla z domyślną czcionką, nie jestem pewien, czy jest to osobny problem).
Pracuję od Packaging Fonts with Applications na MSDN, który ma przykład tworzenia biblioteki zasobów czcionek, ale brak przykładów używających kodu za (jestem zmuszony do użycia kodu za tym).
Jakieś pomysły na temat tego, co muszę zrobić? Czy jestem poza trasą?
To nie dla mnie, co sugeruje, mam jakiś inny problem, ponieważ to działa dla ciebie. – Pysul
Dzięki, dla mnie to zadziałało ... zaoszczędziło mi wiele prób i błędów! – yvesonline
Mogę potwierdzić, że działa idealnie i zanim spróbowałem zbyt wiele kombinacji ładowań bez powodzenia !!! Myślałem, że względny dostęp do zasobów z wewnątrz dll będzie wystarczający, ale najwyraźniej dodanie nazwy zespołu jest wymagane, nawet jeśli czcionki powinny być dostępne z tego samego zestawu! – too