首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何设置SelectedIndex?

如何设置SelectedIndex?
EN

Stack Overflow用户
提问于 2018-09-26 05:39:52
回答 1查看 88关注 0票数 1

我尝试将SelectedIndex属性设置为0,以便在用户控件呈现时显示"Read“,但它不起作用。它没有显示任何东西,但是当我点击组合框时,我确实看到了我所有的项目。

我遗漏了什么吗?

我的XAML代码:

代码语言:javascript
复制
<ComboBox SelectedIndex="0" Grid.Row="1" Grid.ColumnSpan="2" Text="{Binding Path=DataMode}">
    <ComboBoxItem Content="Read"></ComboBoxItem>
    <ComboBoxItem Content="Subscribe"></ComboBoxItem>
</ComboBox>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-26 05:47:51

Text属性绑定正在覆盖所选内容。

方法1-如果不希望从VM设置Mode项,则将绑定Combobox更改为OneWayToSource

代码语言:javascript
复制
 <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-从xaml中删除SelectedIndex并通过属性设置Text

代码语言:javascript
复制
 <ComboBox Grid.Row="1" Text="{Binding Path=DataMode}" Grid.ColumnSpan="2" Height="20" Width="100" >
        <ComboBoxItem Content="Read"></ComboBoxItem>
        <ComboBoxItem Content="Subscribe"></ComboBoxItem>
    </ComboBox>

在VM中-

代码语言:javascript
复制
private string dataMode;
    public string DataMode
    {
        get
        {
            if (string.IsNullOrEmpty(dataMode))
            {
                return "Read";
            }

            return dataMode;
        }
        set
        {
            dataMode = value;
            RaisePropertyChanged("DataMode");
        }
    }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52510635

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档