我試圖管理VS2012中內置的Silverlight 5應用程序中的資源。主題化的目的,我在我的各種自定義模板掏出所有的顏色代碼,並把它們轉移到一個單獨的資源文件,使他們能夠獨立於主模板被改變。Silverlight - 管理顏色資源 - 錯誤
我已經聲明它們如下:
<Color x:Name="ButtonForeground">#FFFFFF</Color>
<Color x:Name="ButtonBackground">#004760</Color>
<Color x:Name="ButtonAltBackground">#0089B7</Color>
雖然這個建造和運行正常,這些線有兩個「錯誤」是拿出每當我生成項目:
- 不能添加內容類型的對象「顏色」,而處理初始化字符串「#ColorCode」遇到
- 的TypeConverter語法錯誤。在通過TypeConverter創建的對象上不允許使用元素屬性。
在定義了30種顏色的情況下,即使項目的構建和運行良好,在錯誤列表窗口中也有60個構建錯誤,並且這會在實際出現錯誤時減損。
這也會導致我的顏色ResourceDictionary無法被引用,因爲它們無法找到帶有顏色的主題文件,並且因爲依賴它們的字典不起作用, m無法依次引用它們,所以我的模板都找不到。 (這是導致另一個錯誤,超過100不停止應用程序構建和運行)
爲什麼這些錯誤在這裏,什麼我需要做的,讓他們離開任何人都可以向我解釋?
更新:我也曾嘗試使用下面的方法,它具有與XAML沒有問題,至於資源字典關注的作品,但在運行時拋出異常:
<Color x:Name="ButtonForeground" R="255" G="255" B="255"><!--#FFFFFF--></Color>
<Color x:Name="ButtonBackground" R="0" G="71" B="96"><!--#004760--></Color>
<Color x:Name="ButtonAltBackground" R="0" G="137" B="183"><!--#0089B7--></Color>
這看起來與此處發佈的錯誤有關:Silverlight XAML BUG
更新2: 我已經嘗試了以下兩種方法,兩種方法工作,但註釋掉的版本會導致錯誤,並且因爲這個原因我刪除了它。
<VisualState x:Name="Normal">
<Storyboard>
<ObjectAnimationUsingKeyFrames Duration="0" Storyboard.TargetProperty="Background" Storyboard.TargetName="BtnBorder">
<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource ButtonBackgroundBrush}"/>
</ObjectAnimationUsingKeyFrames>
<!--<ColorAnimation Duration="0:0:0.1" To="{StaticResource ButtonBackgroundColor}" Storyboard.TargetProperty="Color" Storyboard.TargetName="RbBorderBackground"/>-->
</Storyboard>
活節直接指向一個邊界對象,並使用它的畫筆屬性,註釋掉版本指向由邊境使用的畫筆,並使用顏色屬性。已註釋的版本動畫順利,看起來不錯,目前的版本只是立即刷掉畫筆。
感謝
特里斯坦
Arg。完成新手錯誤:( – Tristan 2013-04-26 11:19:06
犯錯誤的好處是你從他們那裏學習:D – Tonio 2013-04-26 12:40:43