Пытаюсь сделать DataBinding с ListView
| Код | using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes;
namespace WpfApplication1 { /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { ObservableCollection<StrikeData> _StrikeCollection = new ObservableCollection<StrikeData>();
public MainWindow() { InitializeComponent(); }
public ObservableCollection<StrikeData> StrikeCollection { get { return _StrikeCollection; } }
public class StrikeData { public int Strike { get; set; } public int LimToEndOfDayBuy { get; set; } public int LimToEndOfDaySell { get; set; } public int LimToEndOfSessionBuy { get; set; } public int LimToEndOfSessionSell { get; set; } public int PosBuy { get; set; } public int PosSell { get; set; } }
private void button1_Click(object sender, RoutedEventArgs e) { _StrikeCollection.Add(new StrikeData { LimToEndOfDayBuy = int.Parse(textBox1.Text), LimToEndOfDaySell = 0, LimToEndOfSessionBuy = 0, LimToEndOfSessionSell = 0, PosBuy = 0, PosSell = 0 }); }
} }
|
| Код | <Window x:Class="WpfApplication1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="639"> <Grid> <TextBox HorizontalAlignment="Left" Margin="12,24,0,264" Name="textBox1" Width="120" /> <Button Content="Add" Height="23" HorizontalAlignment="Left" Margin="36,53,0,0" Name="button1" VerticalAlignment="Top" Width="75" Click="button1_Click" /> <ListView Height="287" HorizontalAlignment="Left" Margin="150,12,0,0" Name="listView1" VerticalAlignment="Top" Width="440" ItemsSource="{Binding StrikeCollection}"> <ListView.View> <GridView> <GridViewColumn Width="70" Header="Страйки" DisplayMemberBinding="{Binding Strike}"/> <GridViewColumn Width="50" Header="Продать" DisplayMemberBinding="{Binding LimToEndOfDaySell}"/> <GridViewColumn Width="50" Header="Купить" DisplayMemberBinding="{Binding LimToEndOfDayBuy}"/> <GridViewColumn Width="50" Header="Продать" DisplayMemberBinding="{Binding LimToEndOfSessionSell}"/> <GridViewColumn Width="50" Header="Купить" DisplayMemberBinding="{Binding LimToEndOfSessionBuy}"/> <GridViewColumn Width="50" Header="Продать" DisplayMemberBinding="{Binding PosSell}"/> <GridViewColumn Width="50" Header="Купить" DisplayMemberBinding="{Binding PosBuy}"/> </GridView> </ListView.View> </ListView> </Grid> </Window>
|
При добавлении объекта в Collection он появляется, все в порядке, но ListFiew на форме не обновляется. Может, напутала где-то с именами, не знаю. Только пробую WPF, подскажите, пожалуйста, где копать =) |