Windows phone 7 无法访问列表框内的网格
好的,所以我的问题是,我在ListBox中的DataTemplate中有网格。当我更改方向时,我需要更改网格的列定义,但不幸的是,当我将x:Name指定给网格时,我无法在后面的代码中访问它……是否有具体的方法来执行此操作? 我需要用名称“test”设置网格的列定义。 代码如下:Windows phone 7 无法访问列表框内的网格,windows-phone-7,Windows Phone 7,好的,所以我的问题是,我在ListBox中的DataTemplate中有网格。当我更改方向时,我需要更改网格的列定义,但不幸的是,当我将x:Name指定给网格时,我无法在后面的代码中访问它……是否有具体的方法来执行此操作? 我需要用名称“test”设置网格的列定义。 代码如下: <Grid x:Name="EmployeesGrid" Grid.Row="1" Height="550" VerticalAlignment="Bottom"> <Grid.Colu
<Grid x:Name="EmployeesGrid" Grid.Row="1" Height="550" VerticalAlignment="Bottom">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="280"/>
<ColumnDefinition Width="195"/>
</Grid.ColumnDefinitions>
<ScrollViewer HorizontalScrollBarVisibility="Visible" VerticalScrollBarVisibility="Visible" Grid.ColumnSpan="2" Margin="0,0,0,0">
<ListBox Height="605" HorizontalAlignment="Left" Margin="0,6,0,0" Name="listBox1" VerticalAlignment="Top" Width="480">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid x:Name="test">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="280"/>
<ColumnDefinition Width="195"/>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding FullName}" FontSize="20" Grid.Column="0" HorizontalAlignment="Center"/>
<TextBlock Text="{Binding BranchName}" FontSize="20" Grid.Column="1" HorizontalAlignment="Center"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</ScrollViewer>
</Grid>
试试这个
var grid = (Grid)listBox1.FindName("test");
如果从列表框上的点击事件访问,请使用此
var listBox = (ListBox)sender;
var grid = (Grid)listBox.FindName("test");
var grid = (Grid)listBox1.FindName("test");
var textBlock = (TextBlock)grid.FindName("textBox's Name")
如果您想进一步从网格
获取文本块
,请使用此
var listBox = (ListBox)sender;
var grid = (Grid)listBox.FindName("test");
var grid = (Grid)listBox1.FindName("test");
var textBlock = (TextBlock)grid.FindName("textBox's Name")
希望这有帮助您应该能够使用名称EmployeesGrid
从代码隐藏处访问网格。你确定你在正确的文件中吗?这是每个数据模板中的网格吗?我需要访问“测试”网格。是的,它位于DataTemplatevar grid=(grid)listBox1.FindName(“测试”)中;很遗憾,返回null。。。我试图捕获Grid事件的加载,但我不知道如何编辑列宽。