我有以下控件模板:
<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次控件模板定义,最好的方法是什么?
任何帮助都将不胜感激。
发布于 2011-10-28 07:52:38
为此,一种方法是创建一个自定义控件(通过继承Button
),并设置应在默认模板中绑定的所有必需属性。然后,您只需要创建该控件的实例并设置这些属性,而不需要更改模板中的任何内容。
https://stackoverflow.com/questions/7923658
复制相似问题