如何设置依赖项值

时间:2012-03-26 11:22:58

标签: wpf

我有一些像

这样的控件
 <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>

2 个答案:

答案 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}" />