[英]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.