【发布时间】:2013-10-02 09:03:51
【问题描述】:
我需要一个可以绑定到命令和点击事件的 ApplicationBar(与 UI 相关的东西需要点击事件,我无法在我的模型中处理它们)。
我正在尝试使用 NuGet 中的 BindableApplicationBar,命令绑定工作正常,但无法获取点击事件。
请注意,我正在更改 DataContext 以使绑定工作,但 Tap 事件必须在代码隐藏中进行管理(我不知道这是否可能是我的问题!)
这是酒吧的 xaml:
<bindableApplicationBar:Bindable.ApplicationBar>
<bindableApplicationBar:BindableApplicationBar>
<bindableApplicationBar:BindableApplicationBarButton
Text="{Binding MainSearchText}"
IconUri="Assets/AppBar/feature.search.png"
Command="{Binding NavigateCommand}"
Name="SearchBarButton" />
<bindableApplicationBar:BindableApplicationBarButton
Text="{Binding Path=LocalizedResources.AppBarSettingsText, Source={StaticResource LocalizedStrings}}"
IconUri="Assets/AppBar/feature.settings.png"
Tap="SettingsButton_OnTap" />
<bindableApplicationBar:BindableApplicationBar.MenuItems>
<bindableApplicationBar:BindableApplicationBarMenuItem
Text="{Binding Path=LocalizedResources.AppBarAboutText, Source={StaticResource LocalizedStrings}}"
Tap="Info_OnTap" />
</bindableApplicationBar:BindableApplicationBar.MenuItems>
</bindableApplicationBar:BindableApplicationBar>
</bindableApplicationBar:Bindable.ApplicationBar>
这是我在 .xaml.cs 文件中的处理程序之一:
private void Info_OnTap(object sender, GestureEventArgs e)
{
_about.Show();
Debug.WriteLine("INFO ON_TAP");
}
当我单击MenuItem 时,没有写入“INFO ON_TAP”行。
这有什么问题?
【问题讨论】:
-
如果你放一个断点是你的方法,你通过了吗?
-
是的,连方法都没有调用
-
为什么不用点击或命令?而且我认为当您点击按钮时,它不起作用,但如果您点击屏幕否则通过?
标签: c# xaml windows-phone-8 mvvm-light