WPF - 单击按钮时更改按钮图像源

时间:2015-05-15 11:51:00

标签: c# .net wpf caliburn.micro

我在点击事件发生时尝试更改图像源。我可以在XAML中更改图像,但不能从代码中更改。我尝试从Button获取Image属性,但这不起作用。

我正在使用Caliburn进行事件调用:

<Button Content="Mark1" Height="30" Width="40" 
cal:Message.Attach="[Event Click] = [Action SayHello($source, $this)]">
   <Image Name="Mark1ButtonImage"  Source="image1.png" />
</Button>

在C#代码中:

public void SayHello(object sender, object doodlesource)
{
    var selectedButton = sender as Button;
    var selectedKrav = doodlesource as Doodle;
    if (selectedButton != null)
    {
       ///WHAT TO DO TO CHANGE? selectedButton.Image doesn't work?
    }
}

2 个答案:

答案 0 :(得分:2)

试试这个。

    Image img = new Image();
    img.Source = new BitmapImage(new Uri(@"foo.png"));

    SelectedBtn.Content=img        

答案 1 :(得分:0)

要查找图像在按钮内,您需要使用以下代码行:

var image = (sender as Button).FindVisualChildren<Image>();

然后您可以更改图像的来源。