WPF 查找button中style属性中image

<ButtonHorizontalAlignment="Left"Margin="871,11,0,0"Name="button1"VerticalAlignment="... <Button HorizontalAlignment="Left" Margin="871,11,0,0" Name="button1" VerticalAlignment="Top" BorderThickness="0" Cursor="Hand" Visibility="Visible" Click="button1_Click">
<Button.Style>
<Style TargetType="Button">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Grid>
<Image Name="coles" Stretch="None" Source="/FiscalEncyclopedia;component/Images/close_03.png"></Image>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Button.Style>
</Button
我想后台获取button中这个Image的Source属性
展开
 我来答
超大蒲公英
2015-01-09 · TA获得超过741个赞
知道小有建树答主
回答量:758
采纳率:75%
帮助的人:732万
展开全部
var s = this.button1.Style.Setters[0] as Setter;
var t = s.Value as ControlTemplate;
var g = t.LoadContent() as Grid;
var b = g.Children[0] as Image;
var source = b.Source;

最后的source 就是你要的值。

上面的方式是创建的新实例。如果你要修改button的值。可以用下面的方式。
var t = this.button1.GetValue(TemplateProperty) as ControlTemplate;
var b = t.FindName("coles", this.button1) as Image;
b.Source = null;//可以修改这个值
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阳光的雷咩咩
2015-01-09 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7652万
展开全部
更简单的方法是使用TemplateBinding,直接绑定数据。
更多追问追答
追问
什么意思。我就想要这个数据
追答
你要获取Image类型还是其String类型的路径?如果像你这样写死了路径,为何其他地方不能写死呢?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式