我正在使用我的第一个通用应用程序(我是初学者)。
在应用程序中我有几个地方,我想选择ListViewItem,并通过某个按钮删除/编辑(http://i.imgur.com/ZRkIQHm.png)它。我不是设计师,所以我想选择一些简单,美观的解决方案来展示这些按钮。
我受到了Windows 10的启发,很少有地方可以点击ListViewItem,这个选中的项目会显示一些按钮(打印机设置,WiFi连接,蓝牙连接) - 就像这张图片一样 - http://i.imgur.com/WjerA5F.png。
我花了很多时间用谷歌搜索,尝试,现在我不知道该怎么做。我可能最接近在ListViewItemContainer中使用VisualStateManager。
这是代码示例(在c#中,某些ObservableCollection<>填充了ItemsSource):
<ListView Name="dbList" Grid.Column="0" SelectionChanged="dbList_SelectionChanged">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal" Name="XXX">
<TextBlock Text="{Binding}"/>
<Button Name="removeDatabaseButton" Click="removeDatabaseButton_Click" Content="Remove" Tag="{Binding}"/>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
谢谢!
PS:对不起我的英文:)
答案 0 :(得分:0)
答案很复杂:
您需要修改列表Type Class,它应该实现具有Visible属性的INotifyPropertyChanged接口。
private Visibility _visible;
public Visibility Visible //Binding to this in Listbox - Button Visibility
{
get { return _visible; }
set { _visible = value; } //Call OnPropertyChanged method
}
现在创建一个listview_itemclick()方法。调用listview.selectedindex并将listitem属性“Visible”的可见性设置为Visible - 将触发PropertyChanged事件,并通知ui此特定按钮的可见性应更改。
帮助链接:
INotifyPropertyChangedInterface
Playlist to MVVM tutorials - containing INotifyPropertyChanged