jim*_*zer 7 c# xaml windows-store-apps
我正在使用Caliburn Micro开发Windows应用商店应用.
在我的一个页面中ContentControl
,显示哪个UserControl
.在UserControl
我有GridView
.
我的问题是:如何设置UserControl.Width
相同ContentControl.Width
?
注意:磨机设置UserControl.Width=Auto
- 宽度相同GridView.Width
在page.xaml中
<ContentControl x:Name="ActiveItem" />
Run Code Online (Sandbox Code Playgroud)
在usercontrol.xaml中
<UserControl
x:Class="Test.Views.GroupView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" Width="Auto" Height="Auto">
<Grid Margin="0,20">
<GridView x:Name="Groups" Margin="0" />
</Grid>
</UserControl>
Run Code Online (Sandbox Code Playgroud)
UPDATE
添加
VerticalAlignment="Stretch"
HorizontalAlignment="Stretch"
Run Code Online (Sandbox Code Playgroud)
要UserControl
解决不了问题.
小智 13
经过大量的试验和错误后想出来:
<ContentControl Name="MyContent" HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch">
Run Code Online (Sandbox Code Playgroud)
关键是使用水平/垂直*内容*对齐属性(而不是水平/垂直对齐属性).
特别是对于@AlexeiMalashkevich,
我使用这样的绑定来解决它:
在根页面中,您有:
<ContentControl x:Name="ActiveItem"/>
Run Code Online (Sandbox Code Playgroud)
然后添加子页面:
<Page
Height="{Binding ActualHeight, ElementName=ActiveItem}"
Width="{Binding ActualWidth, ElementName=ActiveItem}"
......
/>
Run Code Online (Sandbox Code Playgroud)
就这样。
归档时间: |
|
查看次数: |
7090 次 |
最近记录: |