7

Listbox我想避免在应用程序加载时默认发生的第一项选择。我试过了

SelectedIndex= -1

但它没有用。我不希望在ListBox加载时选择任何项目,直到用户从中选择任何项目Listbox。我已IsSynchronization设置为 true,但设置它false也不能解决我的问题。虽然我必须始终保持IsSychronization设置true。但没关系。我做了谷歌,但找不到任何相关的答案。

谁能告诉我该怎么做?

4

2 回答 2

17

我有这种情况发生在我身上。当我直接绑定ListBox.ItemsSource到视图模型中的集合时,默认情况下没有选择 re。

当我切换到使用 aCollectionViewSource作为时ListBox.ItemsSource,突然默认选择了第一项。

原来这是由于ListBox.IsSynchronizedWithCurrentItem。将其设置为

IsSynchronizedWithCurrentItem="False"

ListBox恢复了默认情况下没有选择任何内容的所需行为。

于 2014-11-26T17:02:06.087 回答
0

将 IsEnabled 绑定到一个布尔值,该布尔值将在用户可以选择时进行标记。列表框仍然可见但不可选择。这是我使用的标签的样式代码,它必须在登录期间启用,但不是在操作停止后启用。

  <Style x:Key="LabelStyle" TargetType="{x:Type Label}">
        <Setter Property="VerticalAlignment" Value="Center" />
        <Setter Property="Width" Value="70" />
        <Setter Property="Height" Value="28"/>
        <Style.Triggers>
            <DataTrigger Binding="{Binding Path=LoginInProcess}" Value="True">
                <Setter Property="IsEnabled" Value="False" />
            </DataTrigger>
            <DataTrigger Binding="{Binding Path=LoginInProcess}" Value="False">
                <Setter Property="IsEnabled" Value="True" />
            </DataTrigger>
        </Style.Triggers>
    </Style>
于 2013-01-10T12:55:06.303 回答