2011-10-27 14 views
0

我有以下的控制模板控制模板:使用變化只是稍微

<ControlTemplate x:Key="GrayButton" TargetType="{x:Type Button}"> 
     <Grid> 
      <Image x:Name="GrayButtonImage" Source="/Server;component/Images/bg.bmp"/> 
      <TextBlock VerticalAlignment="Center" HorizontalAlignment="Center" Foreground="White" Text="{x:Static props:Resources.IDS_ABORT}"/> 
     </Grid> 
     <ControlTemplate.Triggers> 
      <Trigger Property="IsEnabled" Value="True"> 
       <Setter TargetName="GrayButtonImage" Property="Source" Value="/Server;component/Images/GrayButtonOn.bmp"/> 
      </Trigger> 
      <Trigger Property="IsEnabled" Value="False"> 
       <Setter TargetName="GrayButtonImage" Property="Source" Value="/Server;component/Images/GrayButton.bmp"/> 
      </Trigger> 
     </ControlTemplate.Triggers> 
    </ControlTemplate> 

和這裏的使用控制模板,一個按鈕:

<Button Height="40" HorizontalAlignment="Left" Margin="250,334,0,0" Name="ejf" VerticalAlignment="Top" Width="106" Template="{StaticResource GrayButton}" Click="execJournalPrgm" IsEnabled="False"/> 

我需要大約4-8多個按鈕,改變只有通過文本名稱/顏色...什麼是最好的方式來做到這一點,而無需重複控制模板定義4-8次?

任何幫助將不勝感激。要做到這一點

回答

1

一種方式是通過使一個自定義的控制(通過繼承Button)和設置都應該在默認模板的約束需要的屬性。然後,您只需創建該控件的實例並設置這些屬性,而不是更改模板中的任何內容。