WPF MVVMLight TabControl SelectedIndex不会更改TabItem

时间:2017-09-11 16:08:20

标签: wpf data-binding mvvm-light tabcontrol

我的TabControl中有很多TabItem。 我正在使用SelectedIndex属性绑定我的TabControl:

<TabControl SelectedIndex="{Binding SelectedIndex}">
    <TabItem Header="TabItem1">
        ...
    </TabItem>
    ...
</TabControl>

当我选择第三个TabItem时,我想回到第一个TabItem。所以我正在尝试更改属性的设置者:

private int _selectedIndex;
public int SelectedIndex
{
    get { return _selectedIndex; }

    set
    {
        if (value == 2)
            value = 0;

        Set(ref _selectedIndex, value);
    }
}

但TabItem仍然在第三个TabItem上。

1 个答案:

答案 0 :(得分:0)

我可以诚实地说,我不知道为什么会这样。但是添加&#34; IsAsync = True&#34;为我修好了。

我想可能是绑定花了太长时间。正如MSDN文章所述 https://msdn.microsoft.com/en-us/library/system.windows.data.binding.isasync(v=vs.110).aspx

<TabControl SelectedIndex="{Binding SelectedIndex, IsAsync=True}">