私はList
ヘッダーとサブアイテムでいくつかのアイテムを保存します
_categories = new List<Category>();
Category cOne = new Category() { Header = "Category one" };
cOne.AddItem("Sub One");
cOne.AddItem("Sub Two");
cOne.AddItem("Sub Three");
_categories.Add(cOne);
WPFでは、これらのアイテムをにバインドしListBox
ます。
<ListBox x:Name="listbox">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Header}" />
<ListBox ItemsSource="{Binding Subs}" Padding="10 0 0 0" />
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
私が今試したが失敗したのは、内側のListBox
クリック可能なアイテムのみを作成することです。つまり、次のことを回避します。
設定TextBlock.IsEnabled
またはTextBlock.IsHitTestVisible
falseに設定しても、何も変わりません。プロパティがfalseに設定されている場合StackPanel's
、内部ListBox
はクリックできなくなりますが、興味深いことに、TextBlock
まだクリックできます。そして、外側のListBox's
プロパティは何もクリックすることを防ぎます。
アウターListBox
がListView
代わりの場合、動作は同じです。
内部リストの項目のみが有効になっていることを確認するために何を変更する必要があるのか、まだわかりません。何か案は?