ContentControl中的UserControl具有嵌套的宽度/高度

我正在使用Caliburn Micro开发Windowsapp store应用。

在其中一个页面中,我有ContentControl ,它显示UserControl 。 在UserControl我有GridView

我的问题是:如何设置UserControl.WidthContentControl.Width相同?
注意:whet set UserControl.Width=Auto – width与GridView.Width相同

在page.xaml中

  

在usercontrol.xaml中

      


UPDATE

添加

  VerticalAlignment="Stretch" HorizontalAlignment="Stretch" 

UserControl无法解决问题。

经过大量的试验和错误后想出来:

  

关键是使用Horizo​​ntal / Vertical * Content * Alignment属性(而不是Horizo​​ntal / VerticalAlignment属性)。

这就是你出现问题时应该做的事情。

  1. 尝试将ContentControlBackground属性设置为一些令人不安的颜色。 例如紫色或粉红色。 并在UserControl上设置Background属性,例如Green。 它将允许您查看ContentControl确切位置以及UserControl 。 如果你看不到任何Green,你可以告诉UserControl内容被拉伸以填充整个UserControl

  2. 尝试将UserControlVerticalAlignmentHorizontalAlignment属性设置为Stretch 。 FrameworkElement.Horizo​​ntalAlignment , VerticalAlignment

    注意:为了让这些工作。 您无法UserControl上显式设置宽度高度

  3. 尝试将ContentControlVerticalContentAlignmentHorizontalContentAlignmentStretch 。 Control.Horizo​​ntalContentAlignment , VerticalContentAlignment 。 这些会拉伸子元素以填充父元素的已分配布局空间。

  4. 如果你仍然看到一些紫色或粉红色然后再出现问题:)你可以查看Margin/Padding MSDN

如果它仍然搞砸了。 然后我不知道我还能帮你什么。 最后可能的解决方案是绑定。 我不确定它是否有效。

  ...  

我希望有所帮助。 我相信你可能真的很烦人的问题。

特别是对于@AlexeiMalashkevich
我用这样的绑定来解决它:

在根页面中你有:

   

然后添加子页面:

  

就这样。

您应该能够将UserControl的宽度绑定到ContentControl的ActualWidth。

  

以下是一些示例代码:

             

这是MyUserControl1.xaml代码:

     

希望这可以帮助!

对我来说,这是有效的:

  ...  

您必须确保ContentControl具有所需的大小。

例如,我的ContentControl看起来像这样:它总是填满窗口的整个大小。 并且ContentControl UserControl的大小也会发生变化。