对于你们中的大多数人来说,这可能是一个简单的问题,但我是一名 C# 初学者(来自 VB)并且想编写一个 Windows Phone 应用程序。
问题是:如何从代码访问 TextBlock
“LineOne”以更改其宽度?对于页面标题,它非常适合这个(在方向更改时):
this.PageTitle.Text = "肖像";
但是,像这样的东西:
this.LineOne.width= "50";
不会工作。 为什么?
我的 XAML 看起来像这样(几乎是 Visual Studio Express 的默认数据绑定(bind)应用程序):
<!--TitlePanel -->
<StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
<TextBlock x:Name="PageTitle" Text="Bundesliga" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
</StackPanel>
<!--ContentPanel -->
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
<ListBox x:Name="MainListBox" Margin="0,0,-12,0" ItemsSource="{Binding Items}" SelectionChanged="MainListBox_SelectionChanged">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel x:Name="ListboxPanel" Margin="0,0,0,17" Width="432" Orientation="Horizontal">
<TextBlock x:Name="LineOne" Text="{Binding LineOne}" TextWrapping="Wrap" Style="{StaticResource PhoneTextNormalStyle}" Width="40" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
感谢您的帮助!
最佳答案
您必须访问列表框中的文本 block 。 像这样的东西:
TextBlock textblock = ListboxPanel.Items[index] as TextBlock;
textblock.Width = 50
关于c# - 如何使用 C# 访问 ListBox 中的 TextBlock,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7205086/