按钮模板-在矩形上添加网格

时间:2018-08-08 15:56:15

标签: c# wpf

这是XAML代码中用于按钮的模板:

<Window.Resources>
    <ControlTemplate x:Key="templateOfButton" TargetType="Button">
        <Rectangle Height="200" Width="200">
            <Rectangle.Fill>
                <ImageBrush ImageSource="kot.jpg"/>
            </Rectangle.Fill>
        </Rectangle>
    </ControlTemplate>
</Window.Resources>

目前,只有矩形填充有图像。我想在此矩形上添加网格,因此不仅可以使用Image对其进行填充,还可以将Image 放置在矩形上,并在适当的列/中添加其他对象,例如Textblocks行。有谁知道如何做到这一点?有可能吗?

我认为这张图片说明了我想做的事情:Link

2 个答案:

答案 0 :(得分:0)

这里有一个ControlTemplate,可以将其应用于按钮上,该按钮可以完成图片中显示的操作:

<ControlTemplate x:Key="templateOfButton" TargetType="Button">
  <Grid>
    <Grid.ColumnDefinitions>
      <ColumnDefinition/>
      <ColumnDefinition/>
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
      <RowDefinition/>
      <RowDefinition/>
      <RowDefinition/>
    </Grid.RowDefinitions>
    <Image Grid.Column="0" Grid.Row="0" Grid.RowSpan="3"/>
    <TextBlock Grid.Column="1" Grid.Row="0" Text="1" />
    <TextBlock Grid.Column="1" Grid.Row="1" Text="2" />
    <TextBlock Grid.Column="1" Grid.Row="2" Text="3" />
  </Grid>
</ControlTemplate>

答案 1 :(得分:0)

关于创建自己的控制模板,有很多示例。您不仅可以使用模板,还可以使用DependencyProperties绑定到对象。

WPF c# setting style with parameters

这允许对象应用了那些设置与模板中的固定值。