2009-06-18 54 views
1

我試圖重複使用形狀數據來在代碼中動態創建新形狀。基本上我想這樣做Reuse path object in XAML,但在代碼中。這裏的情況是:在代碼中將不同的實例設置爲相同樣式兩次

 Path path = new Path(); 
     path.Style = (System.Windows.Style)this.Resources["PathStyle"]; 
     Path path2 = new Path(); 
     path2.Style = (System.Windows.Style)this.Resources["PathStyle"]; 

但我在第四行說:「值沒有在預期的範圍內」

的代碼是在SL 3的MainControl得到ArgumentException的應用。 該資源的XAML代碼是

<UserControl.Resources> 
     <Style x:Key="PathStyle" TargetType="Path"> 
      <Setter Property="Data" Value="M63,171 L138,117 L168,189 L99,219"/> 
      <Setter Property="Fill" Value="#FFF07E7E"/> 
      <Setter Property="Height" Value="103"/> 
      <Setter Property="Width" Value="106"/> 
      <Setter Property="Stroke" Value="#FF000000"/> 
      <Setter Property="Stretch" Value="Fill"/> 
     </Style> 
</UserControl.Resources> 

任何想法?

+0

任何內部異常? – Will 2009-06-18 12:47:15

回答

0

這很奇怪......我不明白爲什麼它會第一次工作,第二次失敗。嘗試使用替代資源的訪問兩次中間變量:

Style style = (System.Windows.Style)this.Resources["PathStyle"]; 
    Path path = new Path(); 
    path.Style = style; 
    Path path2 = new Path(); 
    path2.Style = style; 
+0

我仍然收到相同的錯誤。 – 2009-06-18 13:17:49

相關問題