2010-08-07 66 views
0

我有一個Style和相應的ControlTemplate自定義HyperLinkButtonBlend 4(用於Silverlight)。Expression Blend 4是否不會自動在樣式中嵌套一個新的ControlTemplate?

用於混合

文檔說:

控制模板包裹內部 樣式,以便施加到控制是 樣式既包括 外觀(份)和用於控制的行爲 。 (from here)(also here)

所以我點擊我的HyperlinkButton在畫板上,並選擇Object > Edit Template > Edit a copy,我也得到:

<HyperlinkButton Template="{StaticResource HyperlinkButtonControlTemplate}"/> 

好吧那不是包裹在一個風格就是它了!

所以我重新開始,並嘗試建立一個風格Object > Edit Style > Edit a copy這給了我一個新的風格,但沒有模板(如預期):

<Style x:Key="HyperlinkButtonStyle2" TargetType="HyperlinkButton"> 
    <!--Setter Property="TargetName" Value="_new"/--> 
     <Setter Property="VerticalAlignment" Value="Center"/> 
     <Setter Property="Foreground" Value="Blue"/> 
     <Setter Property="Padding" Value="0"/>   
    </Style> 

現在我有沒有控制模板的樣式。然後,我在Styles.xaml選擇風格和做Edit Template > Edit a copy,並將其添加鏈接的ControlTemplate的風格:

<Style x:Key="HyperlinkButtonStyle2" TargetType="HyperlinkButton"> 
    <!--Setter Property="TargetName" Value="_new"/--> 
     <Setter Property="VerticalAlignment" Value="Center"/> 
     <Setter Property="Foreground" Value="Blue"/> 
     <Setter Property="Padding" Value="0"/> 
     <Setter Property="Template" Value="{StaticResource HyperlinkButtonControlTemplate2}"/> 

    </Style> 

但對於混合4文檔說,它將樣式中創建的,但事實並非如此。我絕對認爲這是更靈活的,但它不是我想要的,因爲我不想重用它,我想知道這是可配置的還是我錯過了一些東西。

SO:我可以做混合4的同時創建一個Style和嵌套ControlTemplate還是我有ControlTemplate手動移動到Style

回答

1

這一切都取決於你是哪種模式。

如果您按照特定的樣式和模板創建順序,模板會嵌入到樣式中。例如,創建一個按鈕並執行「對象」>「編輯樣式」>「創建空白」(或如果您已將樣式附加到按鈕上,則爲「編輯當前」)。您處於樣式編輯模式。現在,在樣式編輯模式中,選擇對象>編輯模板並創建空白或複製模板。它將與風格相關聯。這是您遵循的兩個步驟過程。

但是,如果您是而不是樣式編輯模式,選擇對象>編輯模板>複製可立即創建帶有鏈接模板的樣式。

+0

我在環顧三個不同的地方,你可以創建一個風格。看起來BUTTON會像我描述的那樣行事,而TEXTBOX就像你所描述的那樣工作。即我不能做任何事,只要按一下按鈕即可在單個步驟中創建一個樣式+模板。我想知道這是否是一個錯誤,因爲它似乎沒有多大意義。希望你有足夠的好奇心自己嘗試一下:-) – 2010-08-16 21:34:07

+0

我可以證實你對於一個按鈕我有一個步驟中描述的行爲,風格和模板。事實上,我從來沒有在TextBox上做過測試。我使用的是發佈的版本ob Blend,而不是RC - 也許這與它有關呢? – Tony 2010-08-17 18:21:51