如何绑定UserControl属性?

3

假设我有一个没有代码后台的简单用户控件:

<UserControl
xmlns= ....
x:Class="TrafficLight.LightControl">
<Grid x:Name="LayoutRoot">
<Grid x:Name="Light" >
  <Ellipse  x:Name="MyColor" Fill="{**I need bind this field to UserControl.Foreground**}" Stroke="#FF000000" />
  <Ellipse  x:Name="Shade" Fill="#E4555555" />
</Grid>
</Grid>

在页面上使用此用户控件:

<TrafficLight:LightControl x:Name="red" Foreground="#FFFEF100" **<= I need to bind MyColor.Fill with this property**/>

我该如何实现这个场景?
1个回答

0

好的,我研究了各种方法,没有ElementName绑定(这是Silverlight 3引入的内容),而Microsoft没有为Silverlight包括它,这很困难。如果没有一些代码支持,这不是一个容易实现的任务。

这篇博客文章提供了一些详细信息,告诉你如何实现这个功能,但请注意,你需要编写一些代码。


谢谢。我已经尝试使用它,但没有效果。 <Ellipse x:Name="Color"> TL:BindingHelper.Binding <TL:BindingProperties TargetProperty="Fill" SourceProperty="Foreground" RelativeSourceSelf="False" ElementName="MyUserControlName"/> </TL:BindingHelper.Binding> </Ellipse> - A1exandr Belan
嗯,真遗憾。我会尽快查看并尝试解决这个问题。 :) - Jeff Yates

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接