我想使用MaterialDesignToolToggleListBox
作为菜单。
单击每个项目将调用分配给SelectedIndex
的功能,其中包含对其他功能的相应引用。
查看
<ListBox Style="{StaticResource MaterialDesignToolToggleListBox}" SelectedIndex="{Binding SelectedBalcony}">
ViewModel
private int _selectedBalcony = 0;
private int _lastSelectedBalcony = 0;
public int SelectedBalcony
{
get { return _selectedBalcony; }
set
{
switch (value)
{
case 0:
B1Visible = true;
_lastSelectedBalcony = 0;
break;
case 1:
B2Visible = true;
_lastSelectedBalcony = 1;
break;
case 2:
B3Visible = true;
_lastSelectedBalcony = 2;
break;
case 3:
B4Visible = true;
_lastSelectedBalcony = 3;
break;
case -1:
SelectedBalcony = _lastSelectedBalcony;
break;
}
_selectedBalcony = value;
OnPropertyChanged("");
}
}
一切正常。
问题是当我双击同一位置时。
-1
我已经准备好辅助变量_lastSelectedBalcony来存储最后一个有效索引,并且在发生-1
的情况下,恢复先前的位置。
但是按钮以图形方式显示,因此变为未选中状态。是否有可能总是单击其中之一?