別のカスタム クラス (DoorControllerLabelInfo) の監視可能なコレクションを持つカスタム クラス (NewBlockLabelInfo) があります。NewBlockLabelInfo クラスをツリービューに正常にデータ バインドし、すべて正常に表示されます。
特定のプロパティにバインドされたデータであるテキストボックスがたくさんあり、これらを更新するとツリービューに反映されます。
プロパティのテキスト ボックスの 1 つのセットを、ツリービューで選択した項目にデータバインドしたい 選択した項目が指定したツリービュー項目 (監視可能なコレクション、ドア コントローラー) の子である場合
データ コンテキストは、ウィンドウ レベルで指定されます。
私はこれを行う方法を長い間懸命に探してきましたが、最良の方法は言うまでもありません。
TreeView の WPF XAML は次のとおりです。
<TreeView Margin="12,150,582,16" Name="treeView1">
<TreeViewItem Header="{Binding Path=BlockName}" Style="{StaticResource BlockItem}" IsExpanded="True">
<TreeViewItem Style="{StaticResource PhoneNoItem}" Header="{Binding Path=TelephoneNumber}"/>
<TreeViewItem Style="{StaticResource DataNoItem}" Header="{Binding Path=DataNumber}"/>
<TreeViewItem Style="{StaticResource CompanyItem}" Header="{Binding Path=CompanyName}"/>
<TreeViewItem Style="{StaticResource ConnectedItem}" Header="{Binding Path=ConnectedDC}" />
<TreeViewItem IsExpanded="True" Header="Door Controllers" Foreground="#FF585858" ItemsSource="{Binding Path=DoorControllers, UpdateSourceTrigger=PropertyChanged}" Name="DCTreeViewItem" Selected="DCTreeViewItem_Selected">
<TreeViewItem.ItemTemplate>
<HierarchicalDataTemplate>
<TreeViewItem Header="{Binding Path=DCName}" Style="{StaticResource DCItem}" IsExpanded="True" Selected="DCTreeViewItem_Selected" >
<TreeViewItem Header="{Binding Path=Address}" Style="{StaticResource AddressItem}" />
<TreeViewItem Header="{Binding Path=Channel1}" Style="{StaticResource Door1Item}" />
<TreeViewItem Header="{Binding Path=Channel2}" Style="{StaticResource Door2Item}" />
</TreeViewItem>
</HierarchicalDataTemplate>
</TreeViewItem.ItemTemplate>
</TreeViewItem>
<TreeViewItem IsExpanded="True" Header="Flats" Foreground="#FF585858" ItemsSource="{Binding Path=FlatNames, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}">
<TreeViewItem.ItemTemplate>
<DataTemplate>
<TreeViewItem Header="{Binding}" Style="{StaticResource FlatsItem}" IsExpanded="True">
</TreeViewItem>
</DataTemplate>
</TreeViewItem.ItemTemplate>
</TreeViewItem>
</TreeViewItem>
</TreeView>
ドア コントローラー TreeViewItem の子である場合にのみ、テキスト ボックスを TreeViewItem の選択されたアイテム プロパティ (またはデータバインドされたクラス プロパティ) にバインドするにはどうすればよいですか?
事前にありがとう オリバー