我想要做的是使用Imagebox作为我的位图效果的来源,我不知道该怎么做。我的图像框被称为 image1 。
<Button Content="Blur" Height="23" HorizontalAlignment="Left" Margin="148,12,0,0" Name="button3" VerticalAlignment="Top" Width="42" Click="button3_Click" >
<Image Source ="image1">
<Image.BitmapEffect>
<BlurBitmapEffect Radius="5" />
</Image.BitmapEffect>
</Image>
</Button>
答案 0 :(得分:1)
您使用的是MVVM吗?如果没有,我强烈建议使用这种模式,因为WPF是为了使用它而构建的,如果你不这样做,你将一直对抗它。
创建一个ViewModel类。在此ViewModel类中创建Image类型的公共属性。
创建ViewModel的实例并将其放入Window的datacontext中。然后为此属性添加绑定。
或者快速修复(请注意,这会导致黑暗,你会后悔开始编程):
<Image Source="{Binding Source, ElementName=image1}">
编辑:
您的编辑是一个完全不同的故事:您已将Content
属性设置两次:一次通过直接设置它,一次设置一个子对象。您的按钮同时包含文本和图像作为内容。但是按钮(以及大多数其他控件)只能包含一个内容。如果您想要两者,您的内容需要像StackPanel
这样的容器控件可以有多个内容,您需要将Image
和TextBlock
放在那里。
示例(您需要根据需要放入方向和对齐方式):
<Button Height="23" HorizontalAlignment="Left" Margin="148,12,0,0" Name="button3" VerticalAlignment="Top" Width="42" Click="button3_Click">
<StackPanel>
<TextBlock Text="Test"/>
<Image Source="{Binding Source, ElementName=image1}">
<Image.BitmapEffect>
<BlurBitmapEffect Radius="5" />
</Image.BitmapEffect>
</Image>
</Button>