Как установить SelectedIndex? - PullRequest
       1

Как установить SelectedIndex?

0 голосов
/ 26 сентября 2018

Я попытался установить для свойства SelectedIndex значение 0, чтобы при чтении пользовательского элемента управления отображалось «Чтение», но оно не работает.Это ничего не показывает, но когда я нажимаю на поле со списком, я вижу все свои элементы.

Есть что-то, что я пропускаю?

Мой код XAML:

<ComboBox SelectedIndex="0" Grid.Row="1" Grid.ColumnSpan="2" Text="{Binding Path=DataMode}">
    <ComboBoxItem Content="Read"></ComboBoxItem>
    <ComboBoxItem Content="Subscribe"></ComboBoxItem>
</ComboBox>

1 Ответ

0 голосов
/ 26 сентября 2018

Text привязка свойства переопределяет выбор.

Подход 1 - Измените привязку Mode на OneWayToSource, если вы не хотите устанавливать Combobox элемент из VM.

 <ComboBox SelectedIndex="0" Grid.Row="1" Grid.ColumnSpan="2" Text="{Binding Path=DataMode, Mode=OneWayToSource}">
        <ComboBoxItem Content="Read"></ComboBoxItem>
        <ComboBoxItem Content="Subscribe"></ComboBoxItem>
    </ComboBox>

Подход 2 - Удалить SelectedIndex из xaml и установить Text через свойство.

 <ComboBox Grid.Row="1" Text="{Binding Path=DataMode}" Grid.ColumnSpan="2" Height="20" Width="100" >
        <ComboBoxItem Content="Read"></ComboBoxItem>
        <ComboBoxItem Content="Subscribe"></ComboBoxItem>
    </ComboBox>

В ВМ -

private string dataMode;
    public string DataMode
    {
        get
        {
            if (string.IsNullOrEmpty(dataMode))
            {
                return "Read";
            }

            return dataMode;
        }
        set
        {
            dataMode = value;
            RaisePropertyChanged("DataMode");
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...