我有一个列表框,这是我的xaml代码;
<ListBox x:Name="DepremlerListesi" Margin="0,0,542,14">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Width="332" Background="#4CFFFFFF">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="132*"/>
<ColumnDefinition Width="200*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition Height="40"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid Grid.RowSpan="3" Margin="0,0,12,0"
Background="Orange"
Width="120"
Height="120"
HorizontalAlignment="Left">
<TextBlock Text="{Binding XX}"
HorizontalAlignment="Center"
VerticalAlignment="Center"
FontSize="48" Foreground="White"/>
</Grid>
<TextBlock Grid.Column="1" Grid.ColumnSpan="3"
Text="{Binding YY}"
FontSize="16"
VerticalAlignment="Center"/>
<TextBlock Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="3" Text="Başlık" TextWrapping="Wrap"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="Padding" Value="0"/>
<Setter Property="Margin" Value="6"/>
</Style>
</ListBox.ItemContainerStyle>
</ListBox>
我手中有一个字符串数组。我想添加这个数组和ListBox。我搜索了很多,但我找不到足够的信息。
我在下一页上尝试了(this页面)答案,
ObservableCollection<string> oList;
oList = new ObservableCollection<string>(MyArray);
DepremlerListesi.DataContext = oList;
Binding binding = new Binding();
DepremlerListesi.SetBinding(ItemsControl.ItemsSourceProperty,binding);
(DepremlerListesi.ItemsSource as ObservableCollection<string>).RemoveAt(0);
但结果(黄色框为空);
它应该是这样的价值观;
列表也许可以,但我不知道如何。 (this文章)
如果你想知道我想做什么,我就有地震的工作。这些数据是地震的严重程度。我对解决方案建议感到好奇。我希望我的英语破碎,我告诉描述。感谢。
答案 0 :(得分:0)
XX和YY是什么?如果你只想将一个字符串数组绑定到列表框,那么将listbox.ItemsSource设置为数组并简单地使用“{Binding}”,就像那样,它将绑定到项本身,在本例中是字符串。
答案 1 :(得分:0)
最好的方法是直接在xaml中设置绑定:
在xaml中添加:
<ListBox ItemsSource="{Binding DepremlerListesi}" Margin="0,0,542,14">
之后:
public MainWindow()
{
this.DataContext = this;
InitializeComponent();
DepremlerListesi = new ObservableCollection<ClassToBind>();
DepremlerListesi.Add(new ClassToBind("test1", "test2"));
DepremlerListesi.Add(new ClassToBind("test3", "test4"));
DepremlerListesi.Add(new ClassToBind("test5", "test6"));
OnPropertyChanged("DepremlerListesi");
}
我创建了辅助类:
public class ClassToBind
{
public string XX {get;set;}
public string YY { get; set; }
public ClassToBind(string var1, string var2)
{
XX = var1;
YY = var2;
}
}