Wczytywanie wartości do comboboxa

Wczytywanie wartości do comboboxa
Odyn
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 493
0

Witam.

Mam problem aby zczytać wartości z klasy do comboboxa.

Mam klasę zawierającą kolekcje:

Kopiuj
 
public static class Service
    {
        static Service()
        {
            GetTaxOptions = new[] {"0%", "8%", "23%", "zwolniony"};
        }

        public static IList<string> GetTaxOptions { get; set; }
    }

I chce teraz w oknie DodajTowar wczytać jedna z kilku dostępnych wartości w kolekcji GetTaxOptions do comboboxa:

Kopiuj

<Label>
      <StackPanel Orientation="Horizontal">
                <AccessText Text="Stawka VAT:" />
      </StackPanel>
</Label>
<ComboBox Name="CbSearchList" ItemsSource="{Binding Path=(serwisy:Service.GetTaxOptions)}" HorizontalAlignment="Left"  VerticalAlignment="Top" Width="74" IsEditable="True" IsReadOnly="True"/>

 

Zrobiłęm binding ale po rozwinięciu comboboxa mam pusto ;/ Co robie źle?

user image

W taki sposób dodaje obiekt ale nie mogę go dodać bo Podatek jest pusty:

Kopiuj
 

// sprawdzamy czy combobox jest pusty
            if (CbSearchList.SelectedValue == null)
            {
                LabelError.Visibility = Visibility.Visible;
                LabelError.Content += "Proszę wybrać stawkę!";
                return;
            }
 invoice.Commoditions.Add(new InvoicePossition
            {
                PriceNetto = NettoPriceTextBox.Text,
                Quantity = Convert.ToInt32(QuantityTextBox.Text),
                Commodity = new Commodity
                {
                    NettoPrice = NettoPriceTextBox.Text,
                    CommodityName = CommoditionNameTextBox.Text,
                    Amount = CbSearchList.SelectedValue.ToString()
                }
            });
Odyn
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 493
0

Ok rozwiązaniem tego problemu jest dodanie do konstruktora w oknie AddNewCommodity:

Kopiuj
public AddNewCommodityWindow(Invoice invoice)
        {
            this.invoice = invoice;
            InitializeComponent();

            foreach (var serviceList in Service.GetTaxOptions)
            {
                CbSearchList.Items.Add(serviceList);
            }
            
            tbxList.Add(CommoditionNameTextBox);
            tbxList.Add(NettoPriceTextBox);
            tbxList.Add(QuantityTextBox);
        } 

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.