Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Problem med comboboxar i WPF.

Postades av 2007-11-27 13:41:12 - Magnus Gladh, i forum silverlight, Tråden har 3 Kommentarer och lästs av 7931 personer

Sitter och bråkar med .NET om att binda data till en Combobox i WPF.

Här är min kod i XAML

<ComboBox Name="cbActivator" ItemsSource="{Binding}" DisplayMemberPath="Value" SelectedValuePath="Key" Height="20"/>


Och är är koden i cs.

cbctivator.DataContext = ActivatorClass.Collection;


    public class ActivatorClass
    {
        public static List<ActivatorClass> Collection
        {
            get
            {
                List<ActivatorClass> list = new List<ActivatorClass>();

                list.Add(new ActivatorClass(1, "Dependency"));
                list.Add(new ActivatorClass(2, "Polling"));
                list.Add(new ActivatorClass(3, "Scheduled"));

                return list;
            }
        }

        public int Key { get; set; }
        public string Value { get; set; }

        public ActivatorClass(int key, string value)
        {
            this.Key = key;
            this.Value = value;
        }
    }



Det fungerar bra, jag får en lista med mina activators i min combobox. Men nu har jag ju data på vilken item i lista som jag vill skall vara vald. Då kan man ju göra det på lite olika sätt.

Man kan sätta det i koden.

cbActivator.SelectedValue = setup.SelectedActivator;

Där selectedActivator innehåller värdet 2. Det fungerar fint, rätt item blir vald i listan.

Man kan även göra det i XAML-koden.

<ComboBox Name="cbActivator" ItemsSource="{Binding}" DisplayMemberPath="Value" SelectedValuePath="Key" Height="20"
SelectedValue="2" />

Vilket även detta fungerar och rätt item är vald i lista, lite tråkigt med hårdkodning dock och jag vill ju ta värdet från min setup klass. Så då testade jag med det.


<StackPanel Name="sp">
  <ComboBox Name="cbActivator" ItemsSource="{Binding}" DisplayMemberPath="Value" SelectedValuePath="Key" Height="20"
SelectedValue="{Binding Path=SelectedActivator}" />
</StackPanel>

Och i cs.

sp.DataContext = setup;


Så jag har bundit min setup-information till föräldern till comboboxen och säger nu till comboboxen att ta värdet i SelectedActivators från Setup. OCH DET JÄVLA SKITET VÄGRAR FUNGERA... Jag blir så lack....

För att kolla så jag gjort rätt så la jag in en textbox i stackpanel och band till Activators i min setup och fick ut rätt namn, så det måste gå att göra så här, men vad gör jag för fel...

- M


Svara

Sv: Problem med comboboxar i WPF.

Postades av 2007-11-27 20:22:18 - Simon Dahlbacka

tja, gjorde en sån här leksak

<Window x:Class="WPFComboBox.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:src="clr-namespace:WPFComboBox"
    Title="Window1" Height="300" Width="300" Loaded="Window_Loaded">
    <Window.Resources>
        <DataTemplate DataType="{x:Type src:ActivatorClass}">
            <TextBlock Text="{Binding Path=Value}"></TextBlock>
        </DataTemplate>
    </Window.Resources>
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition/>
            <RowDefinition/>
        </Grid.RowDefinitions>
        <ComboBox Name="cbActivator" ItemsSource="{Binding}" 
                  IsSynchronizedWithCurrentItem="True" Height="20"/>
        <ListBox ItemsSource="{Binding}" IsSynchronizedWithCurrentItem="True" Grid.Row="1"></ListBox>
    </Grid>
</Window>



Window_Loaded event handlern
private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            DataContext = ActivatorClass.Collection;
        }


aktivatorklassen är exakt likadan. Oberoende ifall jag ändrar comboboxen eller listan så uppdateras valt element. Ifall du inte använder samma view så bör du antagligen byta ut din List<ActivatorClass> mot ObservableCollection<ActivatorClass>.


Svara

Sv:Problem med comboboxar i WPF.

Postades av 2007-11-28 08:32:54 - Magnus Gladh

Ja det fungerar, men det är inte riktigt det som är mitt problem. För nu så har du ett beroende mellan de olika kontrollerna på sidan, men hur får du din combbox att vara default till ett specifikt värde, och den informationen finns i din Setup klass. Det är det som jag inte lyckas med...

Vad jag vill är ju att all den informationen som finns i min setup-klass skall bindas till de olika kontrollerna på sidan: Checboxar, textboxar, comboboxar. Och varje combobox har ju sin egen datacontext, men skall få rätt item i comboboxen vald utifrån värdet i setup klassen.

- M


Svara

Sv: Problem med comboboxar i WPF.

Postades av 2007-11-28 09:54:09 - Simon Dahlbacka

*jag* har ingen setup klass, trollade inte fram någon sån eftersom du inte berättat vad den innehöll.

Men en gissning är ju att du inte har implementerat INotifyPropertyChanged på den relevanta propertyn du binder till.


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 614
27 953
271 709
488
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies