[ anakin14 @ 19.04.2011. 15:08 ] @
posto nema dobrih tutorijala za WPF, a skoro sam otkrio njegove mogucnosti i resio da predjem na to okruzenje, resih da otvorim temu o njemu.

@Shadowed - za sve si ti kriv! posto si mi u onoj drugoj temi ukazao da ono sto zelim lakse mogu postici u WPF-u

@wex-alpha je u temi

http://www.elitesecurity.org/t401512

dao mali primer koje su prednosti GUI-a u WPF_u i cak je ostavio source.

pokusacu da razradim ono sto sam provalio, i da postavim neka pitanja ali pocecu od samog pocetka da bi i korisnici koje interesuje da nauce xaml mogli da prate.

dakle, kada startujemo novu WPF aplikaciju dobicemo prozor.
i XAML izgleda ovako.

Code:
<Window x:Class="MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525" >

    <Grid>

   </Grid>

  </Window>


ovo nam daje prozor sa gridom - a grid nam je neophodan da bi stavljali ostale kontrole u njega

preuredicemo malo prozor:

Code:
<Window x:Class="MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525" WindowStyle="None" AllowsTransparency = "True" WindowStartupLocation="CenterScreen">

    <Grid>

    </Grid>
<Window.Background>
        <LinearGradientBrush EndPoint="1,0.5" StartPoint="0,0.5">
            <GradientStop Color="Black" Offset="0" />
            <GradientStop Color="White" Offset="1" />
            <GradientStop Color="#CCAA2323" Offset="0" />
            <GradientStop Color="#9AD14E4E" Offset="0.535" />
        </LinearGradientBrush>
    </Window.Background>
  </Window>


dodacemo jedno dugme:
kontrole se dodaju unutar grida pa samim tim i unutar grid taga.

Code:

<Window x:Class="MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525" WindowStyle="None" AllowsTransparency = "True" WindowStartupLocation="CenterScreen">

    <Grid>
<Button Height="48" Margin="176,158,0,0" Name="button3" VerticalAlignment="Top" HorizontalAlignment="Left" Width="170">
dugme
</Button>    
</Grid>
<Window.Background>
        <LinearGradientBrush EndPoint="1,0.5" StartPoint="0,0.5">
            <GradientStop Color="Black" Offset="0" />
            <GradientStop Color="White" Offset="1" />
            <GradientStop Color="#CCAA2323" Offset="0" />
            <GradientStop Color="#9AD14E4E" Offset="0.535" />
        </LinearGradientBrush>
    </Window.Background>
  </Window>


e sada, da bi dodali animaciju, koristio sam source iz programa koji je postavio korisnik @wex-alpha

ono sto nam je potrebno da postavimo jesu
1) resources - pretpostavljam da odredjuju kako ce se animacija izvrsiti
2) triggers - okidaci animacije - govore kada ce se animacija izvrsiti
3) i moramo dodati parce koda u tag kontrole koju zelimo animirati

tako da ce button tag sada izgledati:
Code:
 <Button Height="48" Margin="176,158,0,0" Name="button3" VerticalAlignment="Top" HorizontalAlignment="Left" Width="170"  RenderTransformOrigin="0.5,0.5">
            <Button.RenderTransform>
                <TransformGroup>
                    <ScaleTransform/>
                    <SkewTransform/>
                    <RotateTransform/>
                    <TranslateTransform/>
                </TransformGroup>
            </Button.RenderTransform>
            <Button.Effect>
                <DropShadowEffect/>
            </Button.Effect> Dugme
        </Button>


resoursec moramo staviti na prvo mesto , pre grid taga i pre trigger taga i otvara se sa </window.resources> tagom.
ovo je iskopirano iz sourca aplikacije koju sam pomenuo
Code:
 <window.resources>
<Storyboard x:Key="DugmeEnter">
            <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="button3" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)">
                <SplineDoubleKeyFrame KeyTime="00:00:00.2000000" Value="1.133"/>
            </DoubleAnimationUsingKeyFrames>
            <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="button3" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)">
                <SplineDoubleKeyFrame KeyTime="00:00:00.2000000" Value="1.435"/>
            </DoubleAnimationUsingKeyFrames>
            <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="button3" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.X)">
                <SplineDoubleKeyFrame KeyTime="00:00:00.2000000" Value="5"/>
            </DoubleAnimationUsingKeyFrames>
            <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="button3" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.Y)">
                <SplineDoubleKeyFrame KeyTime="00:00:00.2000000" Value="-5"/>
            </DoubleAnimationUsingKeyFrames>
        </Storyboard>
        <Storyboard x:Key="DugmeEnter_leave">
            <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="button3" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)">
                <SplineDoubleKeyFrame KeyTime="00:00:00.2000000" Value="1"/>
            </DoubleAnimationUsingKeyFrames>
            <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="button3" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)">
                <SplineDoubleKeyFrame KeyTime="00:00:00.2000000" Value="1"/>
            </DoubleAnimationUsingKeyFrames>
            <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="button3" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.X)">
                <SplineDoubleKeyFrame KeyTime="00:00:00.2000000" Value="0"/>
            </DoubleAnimationUsingKeyFrames>
            <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="button3" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.Y)">
                <SplineDoubleKeyFrame KeyTime="00:00:00.2000000" Value="0"/>
            </DoubleAnimationUsingKeyFrames>
        </Storyboard>
    </Window.Resources>


a okidac ce izgledati ovako:
Code:

<Window.Triggers>
        <EventTrigger RoutedEvent="FrameworkElement.Loaded">
            <BeginStoryboard Storyboard="{StaticResource startwindow}"/>
        </EventTrigger>
        <EventTrigger RoutedEvent="Mouse.MouseEnter" SourceName="button3">
            <BeginStoryboard x:Name="DugmeEnter_BeginStoryboard" Storyboard="{StaticResource DugmeEnter}"/>
        </EventTrigger>
        <EventTrigger RoutedEvent="Mouse.MouseLeave" SourceName="button3">
            <BeginStoryboard x:Name="DugmeEnter_leave_BeginStoryboard" Storyboard="{StaticResource DugmeEnter_leave}"/>
        </EventTrigger>
    </Window.Triggers>



Veoma je vazno da redom idu <window>, <resources> , <triggers> pa teko onda <grid> i kontrole.

kompletan kod izgleda ovako:

Code:

<Window x:Class="MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525" WindowStyle="None" AllowsTransparency="True" WindowStartupLocation="CenterScreen">
    <Window.Resources>
        <Storyboard x:Key="startwindow">

            <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="button3" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)">
                <SplineDoubleKeyFrame KeyTime="00:00:00.8000000" Value="1.213"/>
                <SplineDoubleKeyFrame KeyTime="00:00:01" Value="1"/>
            </DoubleAnimationUsingKeyFrames>
            <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="button3" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)">
                <SplineDoubleKeyFrame KeyTime="00:00:00.8000000" Value="1.391"/>
                <SplineDoubleKeyFrame KeyTime="00:00:01" Value="1"/>
            </DoubleAnimationUsingKeyFrames>
            <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="button3" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.X)">
                <SplineDoubleKeyFrame KeyTime="00:00:00.8000000" Value="8"/>
                <SplineDoubleKeyFrame KeyTime="00:00:01" Value="0"/>
            </DoubleAnimationUsingKeyFrames>
            <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="button3" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.Y)">
                <SplineDoubleKeyFrame KeyTime="00:00:00.8000000" Value="-4.5"/>
                <SplineDoubleKeyFrame KeyTime="00:00:01" Value="0"/>
            </DoubleAnimationUsingKeyFrames>
        </Storyboard>

        <Storyboard x:Key="DugmeEnter">
            <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="button3" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)">
                <SplineDoubleKeyFrame KeyTime="00:00:00.2000000" Value="1.133"/>
            </DoubleAnimationUsingKeyFrames>
            <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="button3" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)">
                <SplineDoubleKeyFrame KeyTime="00:00:00.2000000" Value="1.435"/>
            </DoubleAnimationUsingKeyFrames>
            <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="button3" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.X)">
                <SplineDoubleKeyFrame KeyTime="00:00:00.2000000" Value="5"/>
            </DoubleAnimationUsingKeyFrames>
            <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="button3" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.Y)">
                <SplineDoubleKeyFrame KeyTime="00:00:00.2000000" Value="-5"/>
            </DoubleAnimationUsingKeyFrames>
        </Storyboard>
        <Storyboard x:Key="DugmeEnter_leave">
            <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="button3" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)">
                <SplineDoubleKeyFrame KeyTime="00:00:00.2000000" Value="1"/>
            </DoubleAnimationUsingKeyFrames>
            <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="button3" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)">
                <SplineDoubleKeyFrame KeyTime="00:00:00.2000000" Value="1"/>
            </DoubleAnimationUsingKeyFrames>
            <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="button3" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.X)">
                <SplineDoubleKeyFrame KeyTime="00:00:00.2000000" Value="0"/>
            </DoubleAnimationUsingKeyFrames>
            <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="button3" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[3].(TranslateTransform.Y)">
                <SplineDoubleKeyFrame KeyTime="00:00:00.2000000" Value="0"/>
            </DoubleAnimationUsingKeyFrames>
        </Storyboard>
    </Window.Resources>
    <Window.Triggers>
        <EventTrigger RoutedEvent="FrameworkElement.Loaded">
            <BeginStoryboard Storyboard="{StaticResource startwindow}"/>
        </EventTrigger>
        <EventTrigger RoutedEvent="Mouse.MouseEnter" SourceName="button3">
            <BeginStoryboard x:Name="DugmeEnter_BeginStoryboard" Storyboard="{StaticResource DugmeEnter}"/>
        </EventTrigger>
        <EventTrigger RoutedEvent="Mouse.MouseLeave" SourceName="button3">
            <BeginStoryboard x:Name="DugmeEnter_leave_BeginStoryboard" Storyboard="{StaticResource DugmeEnter_leave}"/>
        </EventTrigger>
    </Window.Triggers>
    <Grid>
        <Button Height="48" Margin="176,158,0,0" Name="button3" VerticalAlignment="Top" HorizontalAlignment="Left" Width="170"  RenderTransformOrigin="0.5,0.5">
            <Button.RenderTransform>
                <TransformGroup>
                    <ScaleTransform/>
                    <SkewTransform/>
                    <RotateTransform/>
                    <TranslateTransform/>
                </TransformGroup>
            </Button.RenderTransform>
            <Button.Effect>
                <DropShadowEffect/>
            </Button.Effect> Dugme
        </Button>
    </Grid>
    <Window.Background>
        <LinearGradientBrush EndPoint="1,0.5" StartPoint="0,0.5">
            <GradientStop Color="Black" Offset="0" />
            <GradientStop Color="White" Offset="1" />
            <GradientStop Color="#CCAA2323" Offset="0" />
            <GradientStop Color="#9AD14E4E" Offset="0.535" />
        </LinearGradientBrush>
    </Window.Background>
</Window>


Ovo sam napisao da bi na ovom primeru razradjivali (naravno ko je zainteresovan da pomogne) primere animacija koje mozemo postici sa jednom kontrolom

Evo za pocetak:
Prvo pitanje je da li je ovaj program radjen u WPF-u?
http://www.lidder.nd.rs/images/movies/VPKalk_.swf

kako da dobijem animaciju dugmeta kao u njihovom slucaju?
[ wex-alpha @ 22.04.2011. 19:53 ] @
Imam bas za tebe nesto.

U att je source projekta koji sam poceo da radim za kcerkicu. Eh sad buduci da je u to vrijeme volila Fifi i cvijetno drustvo, tim putem sam i krenuo.

Sad, vise ne voli Fifi, nego Pepa Prase... koce djecu stici? :)

U svakom slucaju, projekat sam obustaivo u nedostatku vremena. medjuitm, ima u njemu stvari koje ce ti se svidjeti...

Obrati paznju na nacin kako su dugmad animirana i uvezana.

Projekat ima jos nekoliko Formi koje su iskljucene, ako je mozes da pokrenes. vjerujem da i u njima ima dosta stvari koje te mogu zanimati.

Sada da krenem ovo razvijati, ne bih ni slicno radio... ipak se tada ucilo :) ali sta je tu je.

Nadam se da ce neko imati koristi.

Volio bih da mogu staviti projekat koji sam radio za moju firmu... virtualizacija jednog uredjaja, ali jos ne smijem Mozda kasnije.


URL:
http://www.speedyshare.com/fil...r_2.9_-_Play_Logic_Devised.rar


PS
Na jednom mjestu u projektu postoji i voice detection, koji je krenuo u krivom smjeru :D

[ wex-alpha @ 23.04.2011. 11:41 ] @
U gornjem projektu ne postoji voice recognition. Evo novijeg projekta (preko godinu dana star) u kojem se nalazi taj voice recognition koji je naopako krenuo :)

Slobodno ignorisite gornji projekat.

URL:
http://www.speedyshare.com/fil...er_3.2_-_Voice_Recognition.rar
[ anakin14 @ 23.04.2011. 21:29 ] @
Hvala puno, dosta toga se moze nauciti iz tvojih kodova. Ja cu skidati jedno po jedno i kaciti ovde kod za nesto sto moze koristiti nekim pocetnicima u wpf-u.

Pored toga postavio bih ti jedno pitanje posto si vec savladao wpf.

Imam par problema sa listview kontrolom. Naime kada kliknem na nju ona se focusira i selektuje prvi item, ali pomeranjem strelica selekcija ostaje na prvom a neki mali tackasti pravougaonik se menja kada idem gore/dole. JA bih hteo da mi highlight prati kretanje - da li ovo moram preko koda ili imam neki vec predefinisani style? drugo pitanje je - dali imas predlog za animaciju - prelaskom kursora preko listviewa da se selektuje i "poveca" item preko koga prelazimo? isto tako i kada setamo kroz nju kursorima, da onaj gde se sada nalazimo uvek bude selektovan i povecan malo. Ako ne moze tako , onda bi bilo dobro da se bar listview poveca kada kursor "udje u nju"?

Ako si raspolozen da das neke sugestije bio bih ti puno zahvalan!!!
Puno hvala i srdacan pozdrav!!!
[ wex-alpha @ 23.04.2011. 22:16 ] @
Pozdrav,

Bilo bi odlicno da znam wpf... no tek sam malo zagrebao po njemu :)

Kao prvo treba ti Microsoft Expresion Blend, da lakse manipulises sa XAML-om. Naravno, mozes i bez njega... ali ne ocekuj neke vece rezultate barem u pocetku.

Stavljam source projekta koji je bio u poodmakloj fazi tada. Radi se o videoteci. Standardna aplikacija za vodjenje videoteke, ali uradjena u WPF-u.

Dosta se koristi ListBox, cak ima i zoom na nekom od listboxova.
Aplikacija je radjena kao hobi, tj. kao sredstvo za ucenje. Nacin na koji ja ucim je taj da si zadam neki projekat, i radim na njemu. Dok radim tako i ucim. Kao sto sam vec rekao, sve bih sada drugacije napravio.


- Aplikacija nema error checking.
- Parsiranje filmova sa IMDB radi. Ali skidanje slike vise ne radi, jer su izmjenili strukturu HTML-a na samom IMDB-u.

Ako se dobro sjecam (zadnja verzija, tj ova je gotovo godinu dana stara), u pocetku sam koristio SQLite kao bazu, pa sam onda u sred projekta presao na SQLCE... tako da ima klasa i koda i svasta necega sto se vise ne koristi. Ako se sjecam, aplikacija ne pise direktno u bazu nego ide preko XML-a... ili je to radjeno sa SQLite... ko bi vise znao.


Da ti dam odgovor direktno na tvoje pitanje u vezi Listbox-a, bit cu iskren... ne sjecam se kako sam to radio, ima u kodu :)
Dont use it... you loose it.

Samo pazi... listboxovi su dinamicki kreirani, tako da ces morati malo pogledati po kodu.


Samo naprijed.

URL:
http://www.speedyshare.com/fil...a_4.7_-_VS2010_-_Scrapping.rar
[ anakin14 @ 23.04.2011. 23:56 ] @
Hvala ti puno! Ovde ima dosta materijala za ucenje.
[ Shavgan @ 16.04.2012. 21:48 ] @
Pozdrav ekipi... @wex-alpha - Da li možeš ponovo postaviti svoje kodove jer trenutno nisu raspolozivi, naime zagrizao sam za WPF i vidim da ste imali lijep ton oko ove teme...rado bih da vidim sta se radilo nekad u vrijeme dok se ucilo,.. hvala unaprijed
[ adamsmit @ 06.12.2012. 17:33 ] @

Pozdrav ljudi,trebam pomoć pa ko je voljan hvala mu mnogo....radi se o wpf aplikaciji aukcijska prodaja,već sa pojavljivala tema po sloro svim forumima pa i ovom...

dole su kodovi a trenutno mi izbacuje sl error:
the name 'conn' does not exist in the current context

osim ove greške ne mogu da ubacim podatke u sql bazu sa dole postojećim kodom
takođe mi nije jasno kako da postavim timer metodu ili dispatcher da kad čovjek postavi ponudu za neki artikal
cijena tog artikla se poveća za 1 i počne timer da odbrojava unazad 2 minute,a onda isoči poruka aukcija je uspješno završena ???!!!


xaml.cs:
..................................................

<Window x:Class="WpfApplication4.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="450" Width="550" xmlns:my="clr-namespace:WpfApplication4" Loaded="Window_Loaded">
<Window.Resources>
<my:AukcijaDataSet x:Key="aukcijaDataSet" />
<CollectionViewSource x:Key="aukcija_bazeViewSource" Source="{Binding Path=Aukcija_baze, Source={StaticResource aukcijaDataSet}}" />
</Window.Resources>
<Grid DataContext="{StaticResource aukcija_bazeViewSource}">
<DataGrid AutoGenerateColumns="False" EnableRowVirtualization="True" Height="136" HorizontalAlignment="Left" ItemsSource="{Binding}" Margin="78,22,0,0" Name="aukcija_bazeDataGrid" RowDetailsVisibilityMode="VisibleWhenSelected" VerticalAlignment="Top" Width="391">
<DataGrid.Columns>
<DataGridTextColumn x:Name="aukcijaIdColumn" Binding="{Binding Path=AukcijaId}" Header="Aukcija Id" Width="SizeToHeader" />
<DataGridTextColumn x:Name="artikalNameColumn" Binding="{Binding Path=ArtikalName}" Header="Artikal Name" Width="SizeToHeader" />
<DataGridTextColumn x:Name="cijenaColumn" Binding="{Binding Path=Cijena}" Header="Cijena" Width="SizeToHeader" />
</DataGrid.Columns>
</DataGrid>
<Label Content="AukcijaId" Height="23" HorizontalAlignment="Left" Margin="69,268,0,0" Name="label1" VerticalAlignment="Top" Width="83" />
<Label Content="ArtikalName" Height="24" HorizontalAlignment="Left" Margin="154,267,0,0" Name="label2" VerticalAlignment="Top" Width="68" />
<TextBox Height="23" HorizontalAlignment="Left" Margin="69,240,0,0" Name="AukcijaId" VerticalAlignment="Top" Width="63" DataContext="{Binding Path=aukcijaIdColumn}" />
<TextBox Height="23" HorizontalAlignment="Left" Margin="154,240,0,0" Name="ArtikalName" VerticalAlignment="Top" Width="68" DataContext="{Binding Path=artikalNameColumn}"/>
<Button Content="Ponuda" Height="26" HorizontalAlignment="Left" Margin="242,240,0,0" Name="button1" VerticalAlignment="Top" Width="68" Click="button1_Click" />
<Label Content="Vrijeme" HorizontalAlignment="Left" Margin="378,240,0,148" Name="label4" Width="81" />
<Label Content="Unesi ponudu" Height="28" HorizontalAlignment="Left" Margin="69,206,0,0" Name="label5" VerticalAlignment="Top" Width="83" />
<ListBox Height="38" HorizontalAlignment="Left" Margin="78,153,0,0" Name="listBox1" VerticalAlignment="Top" Width="391" />
</Grid>
</Window>


xaml.cs:
..................................................

using System;
using System.Collections.Generic;
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.Shapes;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Timers;
using System.Windows.Threading;

namespace WpfApplication4
{
/// <summary>
/// Interaction logic for Window1.xaml
/// </summary>
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
}

private void Window_Loaded(object sender, RoutedEventArgs e)
{

WpfApplication4.AukcijaDataSet aukcijaDataSet = ((WpfApplication4.AukcijaDataSet)(this.FindResource("aukcijaDataSet")));
// Load data into the table Aukcija_baze. You can modify this code as needed.
WpfApplication4.AukcijaDataSetTableAdapters.Aukcija_bazeTableAdapter aukcijaDataSetAukcija_bazeTableAdapter = new WpfApplication4.AukcijaDataSetTableAdapters.Aukcija_bazeTableAdapter();
aukcijaDataSetAukcija_bazeTableAdapter.Fill(aukcijaDataSet.Aukcija_baze);
System.Windows.Data.CollectionViewSource aukcija_bazeViewSource = ((System.Windows.Data.CollectionViewSource)(this.FindResource("aukcija_bazeViewSource")));
aukcija_bazeViewSource.View.MoveCurrentToFirst();
}

public void BindMyData()
{
try
{
conn.Open();
SqlCommand comm = new SqlCommand("SELECT * FROM Aukcija_baze", conn);
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(comm);
da.Fill(ds);
aukcija_bazeDataGrid.ItemsSource = ds.Tables[0].DefaultView;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
finally
{
conn.Close();
}

BindMyData();
}

private void button1_Click(object sender, RoutedEventArgs e)
{
try
{
conn.Open();
SqlCommand comm = new SqlCommand("INSERT INTO Aukcija_baze VALUES(" + AukcijaId.Text + ",'" + ArtikalName.Text + "'," , conn);
comm.ExecuteNonQuery();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
finally
{
conn.Close();
BindMyData();
}

{
DispatcherTimer dispatcherTimer = new DispatcherTimer();
dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
dispatcherTimer.Interval = new TimeSpan(0, 0, 1);
dispatcherTimer.Start();

}

}
private void dispatcherTimer_Tick(object sender, EventArgs e)
{



}

}

}




[ ravni @ 07.12.2012. 07:50 ] @
gde li se izgubio Unlike? :)

Citat:
radi se o wpf aplikaciji aukcijska prodaja,već sa pojavljivala tema po sloro svim forumima

mislis da ces spamovanjem postici da ti neko pomogne? bolja taktika je da postavis pitanje u zenskom rodu :)

da ne bude skroz off, ovakvi upiti
Code:
SqlCommand comm = new SqlCommand("INSERT INTO Aukcija_baze VALUES(" + AukcijaId.Text + ",'" + ArtikalName.Text + "'," , conn);
su podlozni SQL injection napadima. Koristi parametrizovane query-je (ili ORM ili sta vec).
[ adamsmit @ 07.12.2012. 16:37 ] @
ma nemam namjeru spamovat..samo tražim pomoć...ovo je konkretno pitanje...error..''conn''..zašto ko zna i hoće da pomogne bio bih mu zahvalan....a te postove po forumima ne lijepim samo ja ...ima nas nekoliko sa istim problemom...ali slabo je izgleda ljudi koji stvarno znaju i hoće da pomognu po forumima..al šta je tu je...po forumima izgleda samo savjetnici..
[ Dusan Kondic @ 07.12.2012. 17:00 ] @
Koristiš konekciju koju nigde nisi ni deklarisao niti instancirao. Potrebno ti je nešto kao
Code:
private SqlConnection conn = new SqlConnection("Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;");
[ wex-alpha @ 07.12.2012. 22:08 ] @
Odokatvino gledajuci kod...

HINT:
Code:

SqlCommand comm = new SqlCommand("INSERT INTO Aukcija_baze VALUES(" + AukcijaId.Text + ",'" +