c# - 如何使用 C# 访问 ListBox 中的 TextBlock

标签 c# windows-phone-7 xaml listbox

对于你们中的大多数人来说,这可能是一个简单的问题,但我是一名 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/

相关文章:

c# - 单一 Entity Framework 6 MySQL

c# - 以编程方式返回

wpf - 在 WrapPanel 内自动调整大小?

c# - 制作自己的 Windows 8 应用程序主题

c# - 读取 serilog 的 appconfig 文件

c# - 将数据从数据集导出到 excel

c# - 是否有针对 CLR 版本的 C# 预编译器定义

c# - Windows Phone 7 - ScrollViewer 值已更改

c# - 如何着手为 silverlight(桌面和网络)以及 WP7 创建应用程序?

c# - UWP:用户控件 ListView DataTemplate 数据类型绑定(bind)