我目前正在嘗試創建一種可以在所有 UI 專案中使用的 XAML“樣式集合”,以實作視覺效果的一致性。
我嘗試創建一個類別庫并添加了ResourceDictionary我的風格:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Style x:Key="ToggleSwitch" TargetType="{x:Type CheckBox}">
Some style in here
</Style>
</ResourceDictionary>
在構建選項中啟用構建 NuGet 包并將其添加到另一個 UI 專案。我現在無法完全理解如何在 UI 專案中實際使用該樣式。
這甚至是一種有效的方法嗎?谷歌搜索這個特定的意圖并沒有給我任何合理的結果。
uj5u.com熱心網友回復:
這是一種有效的方法,它與在本地創建和使用資源字典沒有什么不同,除了如果它們位于被參考的程式集中,您如何參考它們。
作為程式集的應用程式資源和直接在程式YourReferencedAssembly.dll集中的資源字典的示例。YourStyleResourceDictionary.xaml
<Application.Resources>
<ResourceDictionary>
<!-- ...other resources. -->
<ResourceDictionary.MergedDictionaries>
<!-- ...other resource dictionaries. -->
<ResourceDictionary Source="pack://application:,,,/YourReferencedAssembly;component/YourStyleResourceDictionary.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
源路徑是所謂的包 URI,可以采用多種形式。可以參考資源檔案包 URI 檔案。這是參考程式集中的資源路徑的詳細資訊:
權威:
application:///。路徑:編譯成參考程式集的資源檔案的名稱。路徑必須符合以下格式:
AssemblyShortName{;Version]{;PublicKey];component/PathAssemblyShortName:被參考程式集的短名稱。
;Version[可選]:包含資源檔案的參考程式集的版本。這在加載兩個或多個具有相同短名稱的參考程式集時使用。
;PublicKey[可選]:用于對參考程式集進行簽名的公鑰。這在加載兩個或多個具有相同短名稱的參考程式集時使用。
;component:指定被參考的程式集是從本地程式集參考的。
/Path: 資源檔案的名稱,包括其路徑,相對于所參考程式集的專案檔案夾的根目錄。
像往常一樣,隱式樣式會自動應用于添加資源字典的范圍內,并且使用或參考顯式樣式。資源字典的來源沒有區別,相同的程式集或不同的程式集。StaticResourceDynamicResource
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/435601.html
上一篇:按鈕圓角和禁用觸發器不起作用
