从WPF列表视图中的Button沿着值

fbcarpbf  于 2023-06-07  发布在  其他
关注(0)|答案(3)|浏览(237)

我有一个在WPF列表视图中显示的集合。我将有一个编辑按钮,在每一行,需要传递一个ID到另一个控制在屏幕上,当点击。我不会在原地编辑,所以我不会使用Gridview。
如何将此ID传递给其他控件?
现在我的XAML看起来是这样的。

<ListView Name="uxPackageGroups" ItemsSource="{Binding PackageGroups}" BorderThickness="0" Grid.Row="6" Grid.Column="1" Width="300" BorderBrush="#FF0000E8">
<ListView.ItemTemplate>
    <DataTemplate>
        <StackPanel Name="uxStackPanel" Orientation="Horizontal">
            <Button Content="Edit" Width="50" />
            <Label Content="{Binding Name}" Height="20" Margin="0" Padding="0"/>
        </StackPanel>
    </DataTemplate>
</ListView.ItemTemplate>

这个WPF新手提前感谢你!

d7v8vwbk

d7v8vwbk1#

你使用的是数据绑定,所以很简单。在响应按钮单击的代码中,获取对按钮的引用并检查其DataContext属性。它将有一个对您将其绑定到的基础对象的引用。

protected void EditButton_Click(object sender, RoutedEventArgs e)
{
   TextBox textBox = (TextBox)sender;

   int id =  ((TheBounObjectType)textBox.DataContext).Id;
}
cidc1ykv

cidc1ykv2#

如果你不想去创建命令来完成它,你可以使用按钮的“Tag”属性:

<Button Content="Edit" Width="50" Tag="{Binding}" />

<Button Content="Edit" Width="50" Tag="{Binding ID}" />

然后在事件处理程序中引用按钮的标记属性。

wh6knrhe

wh6knrhe3#

命令参数对此很有用:

<Button Content="Edit" Width="50" 
      Command="{some command here}" 
      CommandParameter="{Binding ID}" />

对于“some command here”部分,请确保您是declaring a command

相关问题