7

Listboxアプリケーションのロード時にデフォルトで発生する最初のアイテムの選択を避けたい。で試してみました

SelectedIndex= -1

しかし、それは機能しませんでした。ListBoxユーザーがからアイテムを選択するまで、ロード時にアイテムが選択されないようにしますListbox。私はIsSynchronizationtrueに設定しましたが、それを作成してfalseも問題は解決しません。私はいつもにIsSychronization設定し続ける必要がありますが。trueしかし、それは大丈夫です。私はグーグルをしましたが、関連する答えを見つけることができませんでした。

誰かがこれを行う方法を教えてもらえますか?

4

2 に答える 2

17

私はこれが私に起こった。ビュー モデルのコレクションに直接バインドListBox.ItemsSourceすると、デフォルトで何も選択されませんでした。

CollectionViewSourceをとして使用するように切り替えたとき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 に答える