Skip to main content

Silverlight 5 Datagrid xaml binding

Let see how to look our datagrid



it is very simple, as a data source  i just use a _listObj of my class. and bind the grid column with my class attribute.


  <sdk:DataGrid SelectedItem="{Binding Path=SelectedStudent,Mode=TwoWay}" ItemsSource="{Binding Path= StudentList,Source={StaticResource OutSouceItemList}, Mode=TwoWay}" CanUserResizeColumns="False" AutoGenerateColumns="False" ColumnWidth="*" Name="dgStudentList" VerticalScrollBarVisibility="Visible" MaxHeight="Infinity" >  
           <sdk:DataGrid.Columns>  
             <sdk:DataGridTextColumn Visibility="Collapsed" Binding="{Binding StudentId}" CanUserReorder="False" CanUserResize="False" CanUserSort="False" Width="*" />  
             <sdk:DataGridTextColumn Header="First name" Binding="{Binding FirstName}" CanUserReorder="True" CanUserResize="True" CanUserSort="True" Width="*" />  
             <sdk:DataGridTextColumn Header="Last Name" Binding="{Binding LastName}" CanUserReorder="True" CanUserResize="True" CanUserSort="True" Width="*" />  
             <sdk:DataGridTextColumn Header="Father name" Binding="{Binding FatherName}" CanUserReorder="True" CanUserResize="True" CanUserSort="True" Width="*" />  
             <sdk:DataGridTextColumn Header="Mother Name" Binding="{Binding MotherName}" CanUserReorder="True" CanUserResize="True" CanUserSort="True" Width="*" />  
             <sdk:DataGridTextColumn Header="Country" Binding="{Binding Country}" CanUserReorder="True" CanUserResize="True" CanUserSort="True" Width="*" />  
             <sdk:DataGridTemplateColumn x:Name="Edit" Width="*" Header="Edit" CanUserResize="False" CanUserReorder="False" CanUserSort="False">  
               <sdk:DataGridTemplateColumn.CellTemplate>  
                 <DataTemplate>  
                   <StackPanel>  
                     <HyperlinkButton Content=" " Command="{Binding SaveCommand}">  
                       <HyperlinkButton.Background>  
                         <ImageBrush ImageSource="/GoStudyBD_SLV;component/Assets/Images/edit_icon.png"></ImageBrush>  
                       </HyperlinkButton.Background>  
                     </HyperlinkButton>  
                   </StackPanel>  
                 </DataTemplate>  
               </sdk:DataGridTemplateColumn.CellTemplate>  
             </sdk:DataGridTemplateColumn>  
             <sdk:DataGridTemplateColumn x:Name="Delete" Width="*" Header="Delete" CanUserResize="False" CanUserReorder="False" CanUserSort="False">  
               <sdk:DataGridTemplateColumn.CellTemplate>  
                 <DataTemplate>  
                   <StackPanel>  
                     <HyperlinkButton Content=" " Command="{Binding Source={StaticResource OutSouceItemList}, Path=DeleteCommand}" CommandParameter="{Binding}" IsEnabled="{Binding Path=IsEnabled,Mode=TwoWay}" >  
                       <HyperlinkButton.Background>  
                         <ImageBrush ImageSource="/GoStudyBD_SLV;component/Assets/Images/delete_icon.png"></ImageBrush>  
                       </HyperlinkButton.Background>  
                     </HyperlinkButton>  
                   </StackPanel>  
                 </DataTemplate>  
               </sdk:DataGridTemplateColumn.CellTemplate>  
             </sdk:DataGridTemplateColumn>  
           </sdk:DataGrid.Columns>  
         </sdk:DataGrid>  


here i use MVVM you can also download the code.

https://skydrive.live.com/?cid=dbc6b335a854cc0e#cid=DBC6B335A854CC0E&id=DBC6B335A854CC0E%212389

Comments

Popular posts from this blog

mvvm double click event in listview

If you want to get the double click event on a listview item you can try with this code; <ListView Grid.Row="0" Grid.RowSpan="3" Grid.Column="0" Width="250" Height="200" HorizontalAlignment="Stretch" VerticalAlignment="Top" AlternationCount="2" BorderBrush="#FFA8CC7B" ItemContainerStyle="{StaticResource alternatingStyle}" ItemsSource="{Binding FromPayerNameList}" SelectedItem="{Binding SelectedFromPayer, Mode=TwoWay}"> <ListView.ItemTemplate> <DataTemplate> <TextBlock Width="{Binding Path=ActualWidth, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListView}}}" Text=...

WPF datagrid cell textbox change event

Entity/Class: public class FeesDetails : INotifyPropertyChanged { public int Id { get; set; } public string FeesName { get; set;} public string FeesDetailsName { get; set; } public int? PaidAmount { get; set; } public event PropertyChangedEventHandler PropertyChanged; private void NotifyPropertyChanged(System.String info) { if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(info)); } } public int feesAmount { get; set; } public int FeesAmount { get { return this.feesAmount; } set { if (value != this.feesAmount) { this.feesAmount = value; NotifyPropertyChanged("FeesAmount"); } } } } XAML: <DataGrid AutoGenerateColumns="False" Height="21...

The calling thread must be STA, because many UI components require this.

Using Thread: // Create a thread Thread newWindowThread = new Thread(new ThreadStart(() => { // You can use your code // Create and show the Window FaxImageLoad obj = new FaxImageLoad(destination); obj.Show(); // Start the Dispatcher Processing System.Windows.Threading.Dispatcher.Run(); })); // Set the apartment state newWindowThread.SetApartmentState(ApartmentState.STA); // Make the thread a background thread newWindowThread.IsBackground = true; // Start the thread newWindowThread.Start(); Using Task and Thread: // Creating Task Pool, Each task will work asyn and as an indivisual thread component Task[] tasks = new Task[3]; // Control drug data disc UI load optimize tasks[0] = Task.Run(() => { //This will handle the ui thread :The calling thread must be STA, because many U...