绑定到UiElement的UWP Relativepanel不像RelativePanel那样有属性= UiElement

时间:2015-11-05 18:08:40

标签: xaml responsive-design visual-studio-2015

我们正在开发Windows10通用应用程序(UWP)。我们有很多与RelativePanel的行为有关的问题,具体取决于语法和pc。 我们从Web服务获得动态数据响应,我们必须显示UI控件的动态结构来呈现GUI。 我们正在尝试将RelativePanel用于由ItemsControls组成的子元素,这些子元素呈现不同类型的子数据(地址,电话等等)。 每个ItemsControl的ItemTemplate' item是一个由RelativePanel组成的模板。

现在,奇怪的东西在设计和运行时之间发生了不同的变化。 在设计时,当我们想要设置RelativePanel的Target UIElement时,我们可以使用以下语法:

  1. 例如:RelativePanel.Below="EntryMobileNumbers"
  2. 例如:RelativePanel.Below="{Binding ElementName=EntryMobileNumbers}" />
  3. 他们应该工作,但他们不会。 对于一些RelativePanels的子元素,如果我们使用第一种语法,xaml设计器会出现错误并显示奇怪的错误消息 关于“价值必须是UIElement类型”。

    enter image description here

    在论坛上查看了这种类型的Xaml错误,对于一些开发人员来说,最好将第二种语法与Binding一起使用。 好的一面是设计不显示波浪线和错误但是pb是在运行时; 结果是错误的,有些元素是重叠的。

    使用语法2

    enter image description here

    使用语法1

    enter image description here

    我们在dev pc之间也有不同的问题。在所有电脑上安装VS2015企业版, 有些人正在使用语法1显示波浪形或者使Xaml Designer崩溃,而有些则不然。 我们还尝试用昨天的RC1更新VS2015。它解决了其中一个Pc的问题,而不是其他问题。

    PS。那里的所有样品都非常简单。我很高兴看到一个真实的生活"应用。 像例如来自商店的钱,看看如何管理布局

1 个答案:

答案 0 :(得分:1)

RelativePanel.Above =“{Binding ElementName = SubTitleDesktop}”

而不是

RelativePanel.Above = “SubTitleDesktop”

它可以帮助你摆脱错误