ContentControl中的UserControl具有嵌套的宽度/高度
我正在使用Caliburn Micro开发Windowsapp store应用。
在其中一个页面中,我有ContentControl
,它显示UserControl
。 在UserControl
我有GridView
。
我的问题是:如何设置UserControl.Width
与ContentControl.Width
相同?
注意:whet set UserControl.Width=Auto
– width与GridView.Width
相同
在page.xaml中
在usercontrol.xaml中
UPDATE
添加
VerticalAlignment="Stretch" HorizontalAlignment="Stretch"
到UserControl
无法解决问题。
经过大量的试验和错误后想出来:
关键是使用Horizontal / Vertical * Content * Alignment属性(而不是Horizontal / VerticalAlignment属性)。
这就是你出现问题时应该做的事情。
-
尝试将
ContentControl
的Background
属性设置为一些令人不安的颜色。 例如紫色或粉红色。 并在UserControl
上设置Background
属性,例如Green。 它将允许您查看ContentControl
确切位置以及UserControl
。 如果你看不到任何Green,你可以告诉UserControl
内容被拉伸以填充整个UserControl
。 -
尝试将
UserControl
的VerticalAlignment
和HorizontalAlignment
属性设置为Stretch
。 FrameworkElement.HorizontalAlignment , VerticalAlignment注意:为了让这些工作。 您无法在UserControl上显式设置宽度和高度 。
-
尝试将
ContentControl
的VerticalContentAlignment
和HorizontalContentAlignment
为Stretch
。 Control.HorizontalContentAlignment , VerticalContentAlignment 。 这些会拉伸子元素以填充父元素的已分配布局空间。 -
如果你仍然看到一些紫色或粉红色然后再出现问题:)你可以查看
Margin/Padding
MSDN
如果它仍然搞砸了。 然后我不知道我还能帮你什么。 最后可能的解决方案是绑定。 我不确定它是否有效。
...
我希望有所帮助。 我相信你可能真的很烦人的问题。
特别是对于@AlexeiMalashkevich
我用这样的绑定来解决它:
在根页面中你有:
然后添加子页面:
就这样。
您应该能够将UserControl的宽度绑定到ContentControl的ActualWidth。
以下是一些示例代码:
这是MyUserControl1.xaml代码:
希望这可以帮助!
对我来说,这是有效的:
...
您必须确保ContentControl
具有所需的大小。
例如,我的ContentControl
看起来像这样:它总是填满窗口的整个大小。 并且ContentControl
UserControl
的大小也会发生变化。
上述就是C#学习教程:ContentControl中的UserControl具有嵌套的宽度/高度分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/953976.html