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 |
+--------+