我将URL列表绑定到ListBox(MVVM),发现如果模型是string[]
,一切正常,但如果它是List<Uri>
,则ListBox
中没有项目显示1}}。我认为这是因为WPF不知道如何将Uri
转换为string
但
ToString()
这就是我想要的这是我的XAML:
<ListBox Height="200" ItemsSource="{Binding Path=UrlsFound, Mode=OneWay}">
<ListBox.ItemTemplate>
<DataTemplate DataType="String">
<TextBlock Text="{Binding}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
现在,只要UrlsFound
是string[]
绑定就可以了,但是如果我重构为List<Uri>
,则ListBox中不会显示任何内容。我将DataType="String"
更改为"Uri"
,但这没有帮助
答案 0 :(得分:0)
因为我复制了你的XAML并且有效,所以肯定会出现其他问题。
这是我的代码隐藏:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
urlsFound.Add(new Uri("http://www.google.com"));
urlsFound.Add(new Uri("http://www.google.com"));
urlsFound.Add(new Uri("http://www.google.com"));
this.DataContext = this;
}
private List<Uri> urlsFound=new List<Uri>();
public List<Uri> UrlsFound
{
get { return urlsFound; }
set { urlsFound = value; }
}
}