C# 填充按钮控件内的矩形

C# 填充按钮控件内的矩形,c#,.net,wpf,wpf-controls,expression-blend,C#,.net,Wpf,Wpf Controls,Expression Blend,我有一个图像(一个框架)和一个矩形(框架内的图片)。我使它们彼此适合,我可以从代码中更改矩形的填充图像,如下所示: myRectangle.Fill = new ImageBrush(new BitmapImage(new Uri(myImagePath))); 但我必须为一个按钮创建这两个对象,所以我在Expression Blend中选择了它们,右键单击并单击“生成控件”,选择“按钮”,然后单击“确定”,然后我得到一个按钮。唯一的问题是我无法填充矩形,因为我不知道如何从代码到达它 有人能告

我有一个图像(一个框架)和一个矩形(框架内的图片)。我使它们彼此适合,我可以从代码中更改矩形的填充图像,如下所示:

myRectangle.Fill = new ImageBrush(new BitmapImage(new Uri(myImagePath)));
但我必须为一个按钮创建这两个对象,所以我在Expression Blend中选择了它们,右键单击并单击“生成控件”,选择“按钮”,然后单击“确定”,然后我得到一个按钮。唯一的问题是我无法填充矩形,因为我不知道如何从代码到达它


有人能告诉我如何从按钮内的代码到达矩形,并用图像填充它吗?

只需像您一样填充矩形,然后:

button.Content = myRectangle;
在XAML中:

<Button>
  <Button.Content>
     <Rectangle Width="100" Height="50">
        <Rectangle.Fill>
           <SolidColorBrush Color="Aqua" />
         </Rectangle.Fill>
      </Rectangle>
  </Button.Content>
</Button>

参考:


您可以进一步找到ContentControl.Content属性的示例,如果您知道控件的名称,例如按钮,您应该能够在代码隐藏中找到它,如下所示

var myRectangleButton = (Button)this.FindName("myRectangleButton");

按钮控件的Xaml是什么样子的。