如何更改应用栏中按钮的上下文,具体取决于屏幕上点击的内容?
在我的场景中,我为不同的对象(如用户/项目等)提供了各种数据绑定listView,appbar包含简单的添加/删除/编辑按钮。我希望能够根据我在屏幕上点击的内容执行这些任务。
答案 0 :(得分:0)
我这样做的方法是在设计时将所有上下文按钮放入应用栏。然后,我根据用户点击的项目显示或隐藏正确的那些。
具体来说,我的应用程序侦听SelectionChanged
事件,然后在相应的应用栏按钮上设置Visibility
属性。
答案 1 :(得分:0)
请记住,当您编写XAML应用程序时,要使用的最佳设计模式是MVVM模式,因为它非常简单。包括你的场景。
首先,您的ListView
具有SelectedItem
属性,只要用户更改其选择,该属性就会更新。您应该将其绑定到视图模型中的INotifyPropertyChanged
属性;让我们假设它被称为Selected
,并确保在设置绑定时使用Mode=TwoWay
。
此外,对于视图模型中的Selected
,您还应该添加INotifyPropertyChanged
属性,例如Button1Visibility
和Button2Visibility
,您将在{{1}内更新setter代码。 Selected
中的按钮的可见性应分别与视图模型的AppBar
和Button1Visibility
属性绑定。
然后,当用户更改选择时,您在Button1Visibility
设置器代码中实现的逻辑将适当地设置视图模型中的Selected
属性。然后,Visibility
中的按钮将显示并隐藏。这有意义吗?
像这样的东西
AppBar
在上面的代码中,例如,我们在没有选择任何内容时隐藏按钮。
祝你好运!