在我的WPF Caliburn.Micro应用程序中,我有一个TabControl。我希望能够根据需要关闭标签。我在这里找到了一种方法:
但是当我尝试应用它时,我收到一个错误:
找不到方法CloseItem的目标。
这是我的代码:
<TabControl x:Name="Items" >
<TabControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding DisplayName}" />
<Button Content="X"
cal:Message.Attach="CloseItem($dataContext)" />
</StackPanel>
</DataTemplate>
</TabControl.ItemTemplate>
</TabControl>
你能帮忙吗?
感谢。
答案 0 :(得分:7)
另一种方法是:
<Button Content="X" cal:Message.Attach="DeactivateItem($dataContext, 'true')" />
这样您就不必创建额外的方法。
答案 1 :(得分:2)
不完全确定是什么导致了你的确切问题(我怀疑一个非常古老的教程加上一个完全不同的程序集是问题)但我知道如何让它工作。创建这样的旧公共方法并调用它。它将覆盖你在那里所拥有的东西,所以你可以将其命名为CloseItem。然后调用此扩展方法并传入IConductor实例和IScreen实例。
public void CloseItem(object dataContext)
{
ScreenExtensions.CloseItem(this, dataContext);
}