TransWikia.com

Не устанавливается нужный айтем в комбобоксе WPF

Stack Overflow на русском Asked by Anton Kuzmich on January 31, 2021

<ComboBox x:Name="Coef1" Grid.Column="1"
                            Grid.Row="2"
                                  FontFamily="Dynamics"
                                  FontSize="9"
                                  Foreground="#1B3540"                                 
                                  VerticalContentAlignment="Center" 
                                  ItemsSource="{Binding Path=I_Primary_List}"
                                  SelectedValue="{Binding I_Primary}" />  

Есть код, где выполняется изменение списка I_Primary_List и самого I_Primary. Список меняется, но при этом не устанавливается нужный айтем, а устанавливается пустое. Хотя проверял само значение с эти все нормэ, но вот не устанавливается.

2 Answers

В привязке необходимо использовать SelectedItem, а не SelectedValue:

SelectedItem="{Binding I_Primary}"

Answered by Андрей NOP on January 31, 2021

Вот рабочий пример. Я думаю вы не установили DataContext. Вообще на будщее, приводите не только код разметки, но и код связанный с этой разметкой. Так ответ был бы значительно быстрее. Сразу скажу, по хорошему желательно вынести работу с PrimaryItems и др. данными в отдельный класс, по паттерну MVVM. И в DataContext указать именно ViewModel класс.

 <Grid>
       <ComboBox Width="200" Height="30"
                 FontFamily="Dynamics"
                 FontSize="9"
                 Foreground="#1B3540"                                 
                 ItemsSource="{Binding PrimaryItems}"
                 SelectedValue="{Binding SelectedPrimary}" />
    </Grid>

    public partial class MainWindow : Window
    {
        public ObservableCollection<double> PrimaryItems { get; } = new ObservableCollection<double>();

        public double SelectedPrimary { get; set; }

        public MainWindow()
        {
            InitializeComponent();

            DataContext = this;

            PrimaryItems.Add(0);
            PrimaryItems.Add(1);
            PrimaryItems.Add(2);
        }
    }

Answered by Pavel Popov on January 31, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP