wpf里如何动态改变一个按钮模板里边的静态资源 100

在C#代码里取矩形的name是取不到的。只能取到button的值我现在要在c#里动态改变矩形Fill里的静态资源的值... 在C#代码里取 矩形的name是取不到的。 只能取到button的值 我现在要在c#里动态改变矩形Fill里的静态资源的值 展开
 我来答
Mickal小米
2012-03-28 · TA获得超过3666个赞
知道大有可为答主
回答量:1542
采纳率:100%
帮助的人:1771万
展开全部
可以找到模板下面的控件喔,当然也可以修改其属性。给个demo给你
前台:
<Grid>
<Button Name="btn" Width="80" Height="30">
<Button.Resources>
<SolidColorBrush x:Key="redbrush" Color="Red"/>
<SolidColorBrush x:Key="greenbrush" Color="Green"/>
</Button.Resources>
<Button.Template>
<ControlTemplate>
<Rectangle Name="rct" Fill="{StaticResource redbrush}" />
</ControlTemplate>
</Button.Template>
</Button>
<Button Click="button1_Click" Content="Button" Height="23" HorizontalAlignment="Left" Margin="190,222,0,0" Name="button1" VerticalAlignment="Top" Width="75" />
</Grid>
后台:
private void button1_Click(object sender, RoutedEventArgs e)
{
Rectangle rec = (Rectangle)btn.Template.FindName("rct", btn);

rec.SetResourceReference(Rectangle.FillProperty, "greenbrush");
}
hayywcy
2012-03-27 · TA获得超过368个赞
知道小有建树答主
回答量:371
采纳率:100%
帮助的人:242万
展开全部
。。测试了一下,给Rectangle 加 x:Name属性是可以取到的。。你还是看看代码哪里出问题了吧。。想在代码部分动态改变,必须能取到。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友7c80ab3
2012-03-29
知道答主
回答量:29
采纳率:0%
帮助的人:19.5万
展开全部
在矩形 上面 构成控件 然后 设置Name 属性就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式