KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
i've a problem updating my datagrid when clicking the button by using NotifyPropertyChanged. It works if i set the DataGrid.ItemsSource in code behind, but it doesn't if i set it in xaml. here's some code of code behind & xaml: namespace MyWpfDataBindingLab { public partial class NpcWindow : Window { DataCollection dc = new DataCollection(); public NpcWindow() { InitializeComponent(); //command binding code //... } private void Window_Loaded(object sender, RoutedEventArgs e) { //if i set the ItemsSource here, updating of the UI works //dataGrid1.ItemsSource = dc; } private void CmdCollectionChangedExecute(object sender, ExecutedRoutedEventArgs e) { foreach (SampleClass s in dc) { s.Property1 = "changed"; s.Property3 = "changed"; s.Property3 = "changed"; break; } dc.Add(new SampleClass("new sample 1", "new sample 2", "new sample 3")); } } } <Window x:Class="WPFDataBinding.NpcWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:npc="clr-namespace:WPFDataBinding.NotifyPropChanged" Title="MainWindow" Height="189" Width="459" Loaded="Window_Loaded"> <Window.Resources> <npc:DataCollection x:Key="dataCol"/> </Window.Resources> <Grid> <Grid.ColumnDefinitions> </Grid.ColumnDefinitions> <Button Content="Button" Height="23" HorizontalAlignment="Left" Margin="349,110,0,0" Name="button1" VerticalAlignment="Top" Width="75" /> <!-- if i set the ItemsSource here, updating of the UI doesn't work --> <DataGrid ItemsSource="{Binding Source={StaticResource dataCol}, Mode=OneWay, NotifyOnSourceUpdated=True, UpdateSourceTrigger=PropertyChanged}" AutoGenerateColumns="True" Height="103" HorizontalAlignment="Left" M
Tags (comma-separated)
Save Edits
Cancel