<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Πρώτα Βήματα - Γλώσσες προγραμματισμού</title><link>https://www.dotnetzone.gr:443/cs/forums/74/ShowForum.aspx</link><description>Τα πρώτα βήματα στις γλώσσες VB6, VB.NET, και C#</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Πρόσβαση στα περιεχόμενα ενός ListView</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/50255.aspx</link><pubDate>Mon, 27 Apr 2009 01:39:05 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:50255</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/50255.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=74&amp;PostID=50255</wfw:commentRss><description>&lt;P&gt;Λογικά, αν γυρίσεις το CurrentItem σε τύπο του object που γίνεται bind πάνω στο ListView θα μπορέσεις να έχεις reference στα properties του binded object, οπότε μετά να διαβάσεις τα properties και να τους αλλάξεις τις τιμές ώστε να εμφανιστούν οι νέες στο control. Δηλαδή, το CurrentItem του ListView δεν περιέχει τα UI elements του DataTemplate αλλά το object που γίνεται bind πάνω σε αυτά.&lt;/P&gt;
&lt;P&gt;Άσχετο: Καλό είναι να ακολουθείς παντού τον κανόνα του να&amp;nbsp;χρησιμοποιείς το x:Name="..." αντί του Name="..." To δεύτερο είναι για το WPF namespace ενώ το πρώτο για το XAML namespace, που σημαίνει ότι μπορεί να βρεθούν κάποια elements ποy να μην υποστηρίζουν το δεύτερο, εντούτοις εσύ να θες να τα ονομάσεις για να τα χρησιμοποιήσεις μέσα στον κώδικά σου.&lt;/P&gt;</description></item><item><title>Πρόσβαση στα περιεχόμενα ενός ListView</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/50202.aspx</link><pubDate>Fri, 24 Apr 2009 06:01:11 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:50202</guid><dc:creator>tarasiadis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/50202.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=74&amp;PostID=50202</wfw:commentRss><description>Καλησπέρα σε όλους σας,&lt;br&gt;αυτό είναι το πρώτο μου post καθώς ξεκίνησα να ασχολούμαι με desktop εφαρμογές μετά από εμπειρία σε online εφαρμογές (php, mysql, javascript).&lt;br&gt;&lt;br&gt;Έχω ξεκινήσει μια εφαρμογή σε WPF C# έχοντας ορίσει ένα stackpanel που περιέχει ένα Listview με το οποίο προβάλω σωστά τα περιεχόμενα ενός πίνακα της βάσης μου (SQL SERVER 2005). Από όσο είδα γίνεται με πολλούς άλλους τρόπους (πχ datagrid) αλλά το θεώρησα πιο απλό με list και μου φαίνεται καλό προς το παρόν.&lt;br&gt;&lt;br&gt;Το xaml μου έχει ως εξής:&lt;br&gt;&lt;table border="0" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr style="vertical-align:top;line-height:normal;"&gt;&lt;td style="width:40px;text-align:right;"&gt;&lt;pre style="margin:0px;padding:2px;font-family:courier new;font-size:11px;color:gray;"&gt;1&lt;br&gt;2&lt;br&gt;3&lt;br&gt;4&lt;br&gt;5&lt;br&gt;6&lt;br&gt;7&lt;br&gt;8&lt;br&gt;9&lt;br&gt;10&lt;br&gt;11&lt;br&gt;12&lt;br&gt;13&lt;br&gt;14&lt;br&gt;15&lt;br&gt;16&lt;br&gt;17&lt;br&gt;18&lt;br&gt;19&lt;br&gt;20&lt;br&gt;21&lt;br&gt;22&lt;br&gt;23&lt;br&gt;24&lt;br&gt;25&lt;br&gt;26&lt;br&gt; &lt;/pre&gt;&lt;/td&gt;&lt;td&gt;&lt;pre style="margin:0px;padding:2px 2px 2px 8px;"&gt;&lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&amp;lt;StackPanel DataContext=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"{Binding Source={StaticResource TaskView}}"&lt;/span&gt;&amp;gt;&lt;br&gt;            &amp;lt;ListView x:Name=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"ListViewOfTasks"&lt;/span&gt;  AlternationCount=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"2"&lt;/span&gt;&lt;br&gt;                  IsSynchronizedWithCurrentItem=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"True"&lt;/span&gt; &lt;br&gt;                  ItemsSource=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"{Binding Source={StaticResource TaskView}}"&lt;/span&gt; Background=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Transparent"&lt;/span&gt; Width=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"400"&lt;/span&gt; VerticalAlignment=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Top"&lt;/span&gt; HorizontalAlignment=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Left"&lt;/span&gt; ScrollViewer.VerticalScrollBarVisibility=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Auto"&lt;/span&gt; FontSize=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"11"&lt;/span&gt; Height=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"240"&lt;/span&gt;&amp;gt;&lt;br&gt;                &amp;lt;ListView.ItemTemplate&amp;gt;&lt;br&gt;                    &amp;lt;DataTemplate&amp;gt;&lt;br&gt;                        &amp;lt;Grid&amp;gt;&lt;br&gt;                            &amp;lt;Grid.RowDefinitions&amp;gt;&lt;br&gt;                                &amp;lt;RowDefinition Height=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"20"&lt;/span&gt;/&amp;gt;&lt;br&gt;                                &amp;lt;RowDefinition Height=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"20"&lt;/span&gt;/&amp;gt;&lt;br&gt;                                &amp;lt;RowDefinition Height=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"20"&lt;/span&gt;/&amp;gt;&lt;br&gt;                            &amp;lt;/Grid.RowDefinitions&amp;gt;&lt;br&gt;                            &amp;lt;Grid.ColumnDefinitions&amp;gt;&lt;br&gt;                                &amp;lt;ColumnDefinition Width=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"270"&lt;/span&gt;/&amp;gt;&lt;br&gt;                                &amp;lt;ColumnDefinition Width=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"100"&lt;/span&gt;/&amp;gt;&lt;br&gt;                            &amp;lt;/Grid.ColumnDefinitions&amp;gt;&lt;br&gt;                            &amp;lt;TextBlock Name=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"textBlockName"&lt;/span&gt; Text=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"{Binding Path=name}"&lt;/span&gt; TextWrapping=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Wrap"&lt;/span&gt; Foreground=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"White"&lt;/span&gt; Grid.Row=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"0"&lt;/span&gt; Grid.RowSpan=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"3"&lt;/span&gt; FontSize=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"11"&lt;/span&gt; /&amp;gt;&lt;br&gt;                            &amp;lt;TextBlock Name=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"textBlockStatus"&lt;/span&gt; Text=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"{Binding Path=status}"&lt;/span&gt; Foreground=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"White"&lt;/span&gt; Grid.Row=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"0"&lt;/span&gt; Grid.Column=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"1"&lt;/span&gt; HorizontalAlignment=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Right"&lt;/span&gt; FontSize=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"11"&lt;/span&gt; /&amp;gt;&lt;br&gt;                            &amp;lt;Image Name=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"buttonTaskStatus"&lt;/span&gt; Source=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Images/ok_128.png"&lt;/span&gt; Height=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"20"&lt;/span&gt; Width=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"20"&lt;/span&gt; MouseLeftButtonUp=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Button_Click_Change_Task_Status"&lt;/span&gt; Grid.Row=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"0"&lt;/span&gt; Grid.Column=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"1"&lt;/span&gt; HorizontalAlignment=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Right"&lt;/span&gt; /&amp;gt;&lt;br&gt;                            &amp;lt;TextBlock Name=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"textBlockPriority"&lt;/span&gt; Text=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"{Binding Path=priority}"&lt;/span&gt; Foreground=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"White"&lt;/span&gt; Grid.Row=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"1"&lt;/span&gt; Grid.Column=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"1"&lt;/span&gt; HorizontalAlignment=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Right"&lt;/span&gt; FontSize=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"11"&lt;/span&gt; /&amp;gt;&lt;br&gt;                            &amp;lt;TextBlock Name=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"textBlockDate"&lt;/span&gt; Text=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"{Binding Path=imerominia_kataxorisis}"&lt;/span&gt; Foreground=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"White"&lt;/span&gt; Grid.Row=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"2"&lt;/span&gt; Grid.Column=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"1"&lt;/span&gt; HorizontalAlignment=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Right"&lt;/span&gt; FontSize=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"11"&lt;/span&gt; /&amp;gt;&lt;br&gt;                        &amp;lt;/Grid&amp;gt;&lt;br&gt;                    &amp;lt;/DataTemplate&amp;gt;&lt;br&gt;                &amp;lt;/ListView.ItemTemplate&amp;gt;&lt;br&gt;            &amp;lt;/ListView&amp;gt;&lt;br&gt;        &amp;lt;/StackPanel&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;Όπως θα παρατηρήσετε στην γραμμή 19 έχω ορίσει ένα image με action MouseLeftButtonUp="Button_Click_Change_Task_Status" με το οποίο θέλω να κάνω κλικ στο αντίστοιχο εικονίδιο και να "τραβάω" τα περιεχόμενα του συγκεκριμένου item της λίστας. Στην συνέχεια να κάνω έναν έλεγχο (πχ στο Text του TextBlock με όνομα textBlockStatus) και αναλόγως την τιμή του να αλλάζω την τιμή κάποιου άλλου TextBlock&lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;.&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;/span&gt;Προσπαθώντας λοιπόν να ορίσω την συνάρτηση αυτή έχω κολήσει παρακάτω:&lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;br&gt;&lt;table border="0" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr style="vertical-align:top;line-height:normal;"&gt;&lt;td style="width:40px;text-align:right;"&gt;&lt;pre style="margin:0px;padding:2px;font-family:courier new;font-size:11px;color:gray;"&gt;1&lt;br&gt;2&lt;br&gt;3&lt;br&gt;4&lt;br&gt;5&lt;br&gt;6&lt;br&gt;7&lt;br&gt;8&lt;br&gt;9&lt;br&gt;10&lt;br&gt;11&lt;br&gt; &lt;/pre&gt;&lt;/td&gt;&lt;td&gt;&lt;pre style="margin:0px;padding:2px 2px 2px 8px;"&gt;&lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;private&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;void&lt;/span&gt; Button_Click_Change_Task_Status(&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;object&lt;/span&gt; sender, RoutedEventArgs e)&lt;br&gt;        {&lt;br&gt;             &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;try&lt;/span&gt;&lt;br&gt;            {&lt;br&gt;                ListViewOfTasks.Items.CurrentItem..... και εδώ θέλω να πάρω την τιμή κάποιου texkblock&lt;br&gt;            }&lt;br&gt;            &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;catch&lt;/span&gt; (Exception ex)&lt;br&gt;            {&lt;br&gt;                MessageBox.Show(ex.ToString());&lt;br&gt;            }&lt;br&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br&gt;&lt;/span&gt;&lt;/span&gt;Δεν μπορώ όμως να καταλάβω πως θα αναφερθώ στο item της λίστας που γίνεται κλικ και πως να πάρω την τιμή κάποιου textblock.&lt;br&gt;Καμιά ιδέα. θα μου φανεί χρήσιμη κάθε πληροφορία διότι δεν έχω τις απαραίτητες γνώσεις.&lt;br&gt;Ευχαριστώ.&lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;br&gt;&lt;/span&gt;&lt;/span&gt;</description></item></channel></rss>