ListViewの選択が変更されたときにTextBlockのテキストを変更するにはどうすればよいですか?
私は手動でこれをしたくありません...
ListViewのすべてのアイテムはLogEntry(クラス)です... TextBlockのText-AttributeでBindingを使用して、選択したItemの特定のプロパティを取得できますか?TextBlock ListViewアイテムからのテキストバインディング
<ListView ItemSource="{Binding LogEntries}" Name="logs" IsSynchronizedWithCurrentItem="True">
</ListView>
<ContentControl Content="{Binding ElementName=logs, Path=SelectedItem}" ContentTemplate="{StaticResource logTemplate}"/>
今、あなたはリソースのことlogTemplateを提供する必要があります:あなたはこのようなリストビューを持っていると仮定し
しかし、ListViewの選択が変更されると、TextBox-Textが更新される必要があります。したがって、ListViewの特定の項目と、すべてのTextBoxに対して、LogEntry-Itemの特定のプロパティ(DependencyProperty) ... –
心配しないでください。コレクションをItemsControlにバインドすると、WPFはコントロールとコレクションの間にCollectionViewがバインドされず、直接バインドしません。 IsSynchronizedWithCurrentItemを使用すると、collectionviewは選択した項目を追跡します。コレクションにバインドすると、バインディングはCollectionViewを認識します。したがって、コレクションにバインドするすべてのコントロールは、現在のアイテムにもアクセスできます。 – dowhilefor
OK作品:Dありがとうございます。 –