我正在尝试使用我在UserControl类中声明的值来更改SurfaceWindow类中的内容。现在我所知道的是,我必须使用DependencyProperty从UserControl获取值,然后将其放在公共字符串中。
public string MapValue
{
get { return (string)GetValue(MapValueProperty); }
set { SetValue(MapValueProperty, value); }
}
public static readonly
DependencyProperty MapValueProperty = DependencyProperty.Register("MapValue", typeof(string), typeof(MapManager));
现在我的问题是,我如何将公共字符串(在UserControl中)绑定到一个元素(在SurfaceWindow中)?
如果我使用DependencyProperty,我会创建一个新类,还是将它放在usercontrol代码中?
如果有人可以帮我解决这个问题,我会很高兴。
答案 0 :(得分:0)
据我所知,你试图绑定到窗口中某个控件的依赖属性。
如果是这种情况,您可以在绑定声明中使用ElementName语法,例如:
<TextBlock Text="{Binding ElementName=MapControl, Path=MapValue}"/>
答案 1 :(得分:0)
我的窗口控件中已经有了这个:
<Image x:Name="iGroundPlan" Source="{Binding ElementName=MapManager,Path=MapValue}" />
(MapManager是我的usercontrol的名称)
但看起来它不起作用,我不知道为什么..它就像Windows永远不知道我的usercontrol中的值MapValue何时更新= \