1

我目前正在尝试以编程方式获取我试图找到很多方法的 ListBox,但是我无法使其工作。

这是代码的 xaml 部分:

<ListBox Grid.Row="2" Grid.ColumnSpan="2" x:Name="PeerList" Margin="10,10,0,10">
    <ListBox.ItemTemplate>
         <DataTemplate>
              <TextBlock Text="{Binding DisplayName}" FontSize="{StaticResource PhoneFontSizeMedium}" Margin="40,0,0,0"/>
         </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

我希望以编程方式完成相同的操作。

熟悉 XAML 到 C# 的人帮助我解决了这个问题。.

在此处输入图像描述

4

2 回答 2

2

It is something like this

ListBox listbox = new ListBox();
DataTemplate dataTemplate = new DataTemplate();
FrameworkElementFactory elementFactory = new FrameworkElementFactory(typeof(TextBlock));
elementFactory .SetBinding(TextBlock.TextProperty, new Binding("DisplayName"));
dataTemplate.VisualTree = elementFactory;

listbox.ItemTemplate = dataTemplate ;
于 2013-10-25T05:49:56.353 回答
1

如果您想以编程方式在此列表中显示对等方的名称,则意味着关注 @Hiệp Lê 答案。

否则,如果您只想获取对等方的名称。只要按照这个。

void SearchPeers()
 {
     List<string> name = new List<string>();
     var peers = await PeerFinder.FindAllPeersAsync();
     for(int i=0;i<peers.Count;i++)
     {
       string peerName = peers.DisplayName;
       name.Add(peerName);
     }
 }

这将为您提供可用的对等点的名称。

于 2013-10-28T06:17:46.550 回答