我有一些像
这样的控件 <ListBox ItemsSource="{Binding tests, UpdateSourceTrigger=PropertyChanged}"
ItemTemplate="{StaticResource TestTemplate}" />
当用户访问ListBox的某个元素时,我需要在其他控件中获取此ListBoxItem元素的数据元素,并使用其他元素的数据模板传播它。怎么做得好?例如:
来源:
<ListBox ItemsSource="{Binding tests, UpdateSourceTrigger=PropertyChanged}"
ItemTemplate="{StaticResource TestTemplate}" />
目标:
<TextBlock Text="{Binding Path=name}" />
TextBox中的Text绑定在所选ListBox项的相同数据元素
上更新 如何使一些控件的内容绑定到SelectedItem并由静态数据模板描述如下:
<DataTemplate x:Key="TestTemplate">
<TextBlock Text="{Binding Path=name}"/>
</DataTemplate>
解决方案:
<ContentPresenter
HorizontalAlignment="Stretch"
Content="{Binding ElementName=tests_flat, Path=SelectedItem}"
ContentTemplate="{StaticResource TestInfoTemplate}">
</ContentPresenter>
答案 0 :(得分:1)
您可以直接绑定到SelectedItem属性(如果您的项目是字符串),也可以设置ListBox的SelectedValuePath并绑定到SelectedValue属性。
答案 1 :(得分:1)
来源
<ListBox x:Name="myListBox" ItemsSource="{Binding tests, UpdateSourceTrigger=PropertyChanged}"
ItemTemplate="{StaticResource TestTemplate}" />
目标
<TextBlock Text="{Binding ElementName=myListBox path=SelectedItem}" />