为什么这个ListBox绑定不能以两种方式工作

时间:2016-09-21 15:32:58

标签: vb.net xaml data-binding

我有一个代码视图:

<ListBox            SelectionMode="Single"
                    SelectedValuePath="Tag"
                    SelectedValue="{Binding MyProperty, Mode=TwoWay}">
                    <ListBoxItem Content="Yes" Tag="True" />
                    <ListBoxItem Content="No" Tag="False" />
                </ListBox>

并在视图中模型:

Public Property MyProperty As Boolean
        Get
            Return _myProperty1
        End Get
        Set
            If Value = True Then
                _myProperty1 = Value
            Elseif otherCondition 'Let s say that otherCondition is false'
                _myProperty1 = Value
            End If
            NotifyOfPropertyChange(Function() MyProperty)
        End Set
    End Property

对于此示例,otherCondition为false且与此属性完全无关。 为什么我仍然可以选择否? (只是在视觉上,因为在视图模型中,值保持为是。)

精度: 当我点击是时,它会选择它。但是当我点击No时,因为otherCondition为false,所以应该选择Yes。相反,即使在viewModel中_myProperty1的值保持为True,它也会选择No。

0 个答案:

没有答案