下午好,我正在写这个问题,看看你是否可以帮助我解决我遇到的问题,这可能很容易解决,但我几天都无法工作。
WPF编程我创建了一个itemscontrols,其中列出了包含我所有书籍的列表,直到所有内容都完美无缺,我的问题是我想按下按钮时我会这样做,我取名字的值预定在另一部分使用它。
然后我留下我拥有的代码片段,以便我能理解更多
<StackPanel Name="stkMain">
<ItemsControl Name="itmCntrl">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" ></WrapPanel>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel Name="stk">
<materialDesign:Card Width="300" Margin="10" VerticalAlignment="Stretch">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Image Name="img" Source="{Binding PhotoPath}" Height="300" Width="240" Stretch="Fill" Cursor="Hand" />
<Button Grid.Row="1" Grid.Column="1" Style="{DynamicResource MaterialDesignFlatButton}" Content="MORE"
HorizontalAlignment="Right" Margin="8" Click="Button_Click"/>
<Label x:Name="nan" Content="{Binding Name}"></Label>
</Grid>
</materialDesign:Card>
</materialDesign:TransitioningContent>
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</StackPanel>
正如你所看到的每个创建的项目我有一个图像,一个标签和一个按钮,基本上我不能做的是按下按钮我取标签的值
我希望我能帮上这个。
谢谢。
答案 0 :(得分:1)
Button_Click
方法sender
参数中的是一个具有DataContext
个ptoperty的Button。 DataContext
是具有Name
属性的单个对象:
// c#
Button b = (Button)sender;
object dc = b.DataContext;
//// cast dc to correct type, e.g.
// Book book = (Book)dc;
// string name = book.Name;