TextBox In DataContext

Hi! How possible to save data from TextBox with DataContext to sql Server?

In my XAML  (WinPage.XAML) i have the TextBox namely TxtBox1, TxtBox2, TxtBox3 and Button name button1. I Have a Datacontext name  WinOrganizationContext. So, now in XAML.cs I put some code in my button1 as follows:

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            WinOrganizationContext _iContext = new WinOrganizationContext();
            _iContext.ID = TxtBox1.Text;
            _iContext.xName = TxtBox2.Text;
            _iContext.fName = TxtBox3.Text;

            MessageBox.Show("New files has been saved!")
           
        }

_iContext is geeting error! And I do not know if i could insert new files on this. Is this possible?
Whing Dela CruzAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
Gautham JanardhanConnect With a Mentor Commented:
the code i gave will only update to the object, it wont "save" any data to stores (db,xml etc)
0
 
Gautham JanardhanCommented:
what is the error you are getting ?

ideally if the data context of ur view is WinOrganizationContext  then you can do this in your xaml to directly bind text to property inside WinOrganizationContext  

<TextBox Text="{Binding ID }"  x:Name="TxtBox1"/>
<TextBox Text="{Binding xName }"  x:Name="TxtBox2"/>
<TextBox Text="{Binding fName }"  x:Name="TxtBox3"/>

Open in new window

0
 
Whing Dela CruzAuthor Commented:
Hi! How to save it to my database?
      I'm trying to follow as what instructed above so heres my xaml
      <TextBox Text="{Binding BranchName }"  x:Name="TxtBox1"/>
      <Button Height="40" Content="Save" Name="Save" Click="Save_Click"/>

I have also created a Class name AppState.cs as follows;

    public static WinOrganizationContext WinOroganizationContext { get;  set;}
    public static SalesRecord _record { get; set; }

In my xaml.cs are as follows;

   private void Save_Click(object sender,RoutedEventsArgs e)
{
   AppState._record.BranchName = TxtBox1.Text;
   AppState._record.Cash = 0;
   MessageBox("New files has been added");
}


When I tried to execute and Click save an error says;
  Object reference not set to an object..

Help Please...
0
Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

 
Gautham JanardhanCommented:
where are you initialising the properties inside AppState ? and i dont see any code setting the data context of the view. unless you set the data context of the view, there is not point in giving binding in xaml
0
 
Whing Dela CruzAuthor Commented:
Hi! Do I need to use dataGrid? How to do that? Can you give me some example?

I'm trying now... but got the same error...
0
 
Gautham JanardhanCommented:
datagrid is used if the user will update multiple records at a time , is that the case here ?

see sample below

<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" SizeToContent="WidthAndHeight">
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition />
            <ColumnDefinition Width="200"/>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition />
            <RowDefinition />
            <RowDefinition />
            <RowDefinition />
        </Grid.RowDefinitions>
        <TextBlock Margin="4" Grid.Column="0" Text="Id" />
        <TextBox Margin="4" Grid.Column="1" Grid.Row="0" Text="{Binding ID}"  x:Name="TxtBox1"/>
        <TextBlock Margin="4" Grid.Column="0" Grid.Row="1" Text="Name" />
        <TextBox Margin="4" Grid.Column="1" Grid.Row="1" Text="{Binding xName}"  x:Name="TxtBox2"/>
        <TextBlock Margin="4" Grid.Column="0" Grid.Row="2" Text="F Name" />
        <TextBox Margin="4" Grid.Column="1" Grid.Row="2" Text="{Binding fName}"  x:Name="TxtBox3"/>
        
        <Button Content="Save" Click="Button_Click" Grid.Row="4" Grid.Column="1" Width="100" Margin="5" HorizontalAlignment="Right" />
    </Grid>
</Window>

Open in new window


    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            this.DataContext = AppState.WinOrganizationContex;
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            MessageBox.Show(string.Format("Id - {0} ,x name -{1} ,f name -{2}" , AppState.WinOrganizationContex.ID,
                AppState.WinOrganizationContex.xName,AppState.WinOrganizationContex.fName));
        }
    }

Open in new window


    public static class AppState
    {
        public static WinOrganizationContex WinOrganizationContex { get; set; }
        static AppState()
        {
            WinOrganizationContex = new WinOrganizationContex();
        }
    }

    public class  WinOrganizationContex
    {
        public string ID { get; set; }
        public string xName { get; set; }
        public string fName { get; set; }
    }

Open in new window

0
 
Whing Dela CruzAuthor Commented:
Hi! I tried to follow all steps stated above but when execute save command no data has been saved. What are the things do I need to this Command?


        private void Button_Click(object sender, RoutedEventArgs e)
        {
                AppState.WinOrganizationContex.xName = TxtBox2.Text;
                AppState.WinOrganizationContex.fName = TxtBox3.Text;
                MessageBox.Show("New file has been added");
        }
 
is there any maneuver needed to this?
0
 
Whing Dela CruzAuthor Commented:
Thanks! Can you provide me some xample that can Save data using this kind of scenario? When I save new data i use Silverlight Child window... but I need some alternatives that can save data using directly textBox as shown above... Thanks a lot!
0
 
Gautham JanardhanCommented:
0
 
Whing Dela CruzAuthor Commented:
Thanks!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.