ListBox の動作は、最初の項目が自動的に選択されるというものですが、どうすれば回避できますか??
注: 私はこれを純粋な xaml で行うことを好みます。コード ビハインドのアイデアがある場合は、気にしないでください。
ListBox の動作は、最初の項目が自動的に選択されるというものですが、どうすれば回避できますか??
注: 私はこれを純粋な xaml で行うことを好みます。コード ビハインドのアイデアがある場合は、気にしないでください。
試す
IsSynchronizedWithCurrentItem="False"
さて、私はFocusManager.FocusedElementを使用してこれを試しました
..リストボックス自体に最初のフォーカスを作成しました..フォーカスがあります..しかし要素は選択されていません..下に押すかタブを押すと..リストボックスの最初の要素が選択...
<Window
......
FocusManager.FocusedElement="{Binding ElementName=listbox2}">
<ListBox x:Name="listbox2" HorizontalAlignment="Left"
VerticalAlignment="Bottom" Width="117.333" Height="116"
Margin="30.667,0,0,30">
<ListBoxItem>Jim</ListBoxItem>
<ListBoxItem>Mark</ListBoxItem>
<ListBoxItem>Mandy</ListBoxItem>
</ListBox>
IsSynchronizedWithCurrentItem="True" を削除し、必要に応じて次の SelectionChanged イベントに追加します。これは私の問題を解決しました
SelectedIndex を -1 に設定できます。
<ListBox ItemsSource="{Binding MyData}" SelectedIndex="-1"/>
注: 純粋な xaml でこれを実行したいと考えています。コード ビハインドのアイデアがある場合は、気にしないでください。
残念ながら、XAML ですべてを行うことはできません...通常はコード ビハインドを回避できますが、コンバーター、マークアップ拡張機能、または添付プロパティを記述する必要があります。
<ListBox SelectioMode="Single" SelectedIndex="-1"/>
ここで同じ問題。誰かが「クリーンな」解決策を見つけましたか?
問題はここでも同じで、一連のトリガーが実行されます。
明らかな解決策/修正:
SelectedIndex は探しているプロパティですか? それとも、私はあなたの主張を理解していないかもしれません...
空白のアイテムを追加します。