Wpf Datatemplate获取子控件的内容

Wpf Datatemplate获取子控件的内容,wpf,xaml,data-binding,datatemplate,Wpf,Xaml,Data Binding,Datatemplate,我有一个数据模板 <ItemsControl.ItemsPanel> <ItemsPanelTemplate> <ui:UniformWrapPanel /> </ItemsPanelTemplate> </ItemsControl.ItemsPanel> <ItemsControl.ItemTemplate> <DataTemplate> <Bor

我有一个数据模板

<ItemsControl.ItemsPanel>
    <ItemsPanelTemplate>
        <ui:UniformWrapPanel />
    </ItemsPanelTemplate>
</ItemsControl.ItemsPanel>

<ItemsControl.ItemTemplate>
    <DataTemplate>
        <Border  MouseUp="ItemBorder_MouseUp"  Name="ItemBorder" CornerRadius="10" BorderBrush="Black" BorderThickness="1" Margin="3" Background="{Binding Converter={StaticResource RescuerColorConverter}}">
            <StackPanel Orientation="Vertical" Margin="3">
                <TextBlock FontWeight="Bold" FontSize="20" Text="{Binding Path=Identifier}" HorizontalAlignment="Center" />
                <TextBlock FontSize="16" Text="{Binding Converter={StaticResource RescuerNameConverter}}" HorizontalAlignment="Center" />
            </StackPanel>
        </Border>
    </DataTemplate>
</ItemsControl.ItemTemplate>

如果在边框控件上设置MouseUp,我可以从框中获取事件,但是如何从文本块中获取值


谢谢。

DataContext是保存数据的对象,否则绑定将无法工作,只需将其强制转换并获取所需内容即可

var data=(MyDataClass)(发送方作为边框);
//处理数据、标识符等。

DataContext是保存数据的对象,否则绑定将无法工作,只需将其强制转换并获取所需内容即可

var data=(MyDataClass)(发送方作为边框);
//处理数据、标识符等。

事件处理程序有一个“sender”参数,该参数是事件发生的对象。这将使您获得您想要的边界实例。然后有两种可能性:

1) 如果使用数据绑定,则边框的DataContext应该是为其创建DataTemplate的项

2) 如果不使用数据绑定,可以深入到边框的可视树中,以这种方式定位文本块


就个人而言,我确实更喜欢选项1,但我倾向于两者都不使用,因为我会使用Caliburn Micro的操作来连接这类事情,该操作允许我将datacontext作为参数传递给ViewModel上的方法。

事件处理程序有一个“sender”参数,它是事件发生的对象。这将使您获得您想要的边界实例。然后有两种可能性:

1) 如果使用数据绑定,则边框的DataContext应该是为其创建DataTemplate的项

2) 如果不使用数据绑定,可以深入到边框的可视树中,以这种方式定位文本块

就个人而言,我确实更喜欢选项1,但我倾向于两者都不使用,因为我会使用Caliburn Micro的操作来连接这类事情,该操作允许我将datacontext作为参数传递给ViewModel上的方法

+--------+
|  6969  |
|  Name  |
+--------+