【发布时间】:2014-07-24 13:17:39
【问题描述】:
我尝试在几个网格中更改所有项目的宽度,这些网格也在一个网格中。这些项目是文本框、复选框、滑块、按钮等。
这是我的解决方法:
foreach (Control itemGrid in mainGrid.Children)
{
if (itemGrid.GetType() == typeof(Windows.UI.Xaml.Controls.Grid));
{
foreach (UIElement item in itemGrid.Children)
item.Width = 100;
}
}
这是一个例子,可以理解我的意思。
<Grid HorizontalAlignment="Left" Height="885" Margin="1186,226,0,0" VerticalAlignment="Top" Width="598" Background="Black">
<Grid HorizontalAlignment="Left" Height="220" Margin="74,53,0,0" VerticalAlignment="Top" Width="433" Background="#FF727272">
<Button Content="Button" HorizontalAlignment="Left" Margin="54,36,0,0" VerticalAlignment="Top" Height="71" Width="143"/>
<Button Content="Button" HorizontalAlignment="Left" Margin="283,7,0,0" VerticalAlignment="Top" Height="71" Width="143"/>
<TextBlock HorizontalAlignment="Left" Margin="57,131,0,0" TextWrapping="Wrap" Text="More Items .." VerticalAlignment="Top" Width="351" Height="79" FontSize="48"/>
</Grid>
<Grid HorizontalAlignment="Left" Height="240" Margin="74,587,0,0" VerticalAlignment="Top" Width="433" Background="#FF727272">
<TextBlock HorizontalAlignment="Left" Margin="72,81,0,0" TextWrapping="Wrap" Text="More Items .." VerticalAlignment="Top" Width="351" Height="79" FontSize="48"/>
</Grid>
<Grid HorizontalAlignment="Left" Height="217" Margin="74,314,0,0" VerticalAlignment="Top" Width="433" Background="#FF727272">
<TextBlock HorizontalAlignment="Left" Margin="72,81,0,0" TextWrapping="Wrap" Text="More Items .." VerticalAlignment="Top" Width="351" Height="79" FontSize="48"/>
</Grid>
</Grid>
【问题讨论】:
-
你的代码中的 item1 是什么?
-
哦,是的。那是一个错误。我会纠正这个。
-
好的,现在请解释一下您目前的方法有什么问题?
-
有 serval exeptions 并且 itemGrid 没有“Children”的命名空间。
-
什么是主网格?它不在您的 XAML 中。
标签: c# windows-phone-8.1 uielement win-universal-app