繁体   English   中英

xaml中的绑定Click方法

[英]Binding Click method in xaml

在Windows 8中,C#+ XAML我有一些课程

Class ABC
{
 public string a {get; set;}
 public void someMethod()
 {
  **some code, changing a**
 }
}

和绑定在XAML

<ListBox x:Name="playlistBox">
     <ListBox.ItemTemplate>
          <DataTemplate>
               <StackPanel Orientation="Horizontal">
                     <TextBlock Text="{Binding a}"/>
                     <Button Name="removeAlbumBtn" Content="method" Click="**NEED BINDING TO SOMEMETHOD HERE**"/>
                </StackPanel>
           </DataTemplate>
      </ListBox.ItemTemplate>
  </ListBox>

所以我必须键入什么才能调用someMethod ???

您需要通过该xaml文件后面代码中的处理程序方法来处理Click事件。 例如,如果您显示的xaml在MyControl.xaml MyControl.xaml.cs中将具有以下方法:

private void removeAlbumBtn_Click(object sender, RoutedEventArgs e)
{
    var a = ((Button)sender).DataContext as ABC;

    if(a != null)
        a.someMethod();
}

并将xaml更改为:

<Button Name="removeAlbumBtn" Content="method" Click="removeAlbumBtn_Click"/>

您可以使用命令来完成。 但是您要做的工作量不只是编写绑定它的方法。 WPF和Silverlight中有关命令的帖子可能会帮助您理解和实现命令: http : //tsells.wordpress.com/2010/06/23/command-binding-with-wpf-and-silverlight-net-4-0 -with-mv-vm /

它也是XAML的功能,因此也将在Windows 8上运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM