如何阻止用户点击UWP XAML应用中的Pivot项目,但仍显示每个支点项目的标题?例如,我有三个标记为“步骤1”,“步骤2”和“步骤3”的枢轴项。我希望每个项目都显示在数据透视表的顶部,但不是用户可以接通的。它们仅用于提升用户当前在该过程中的位置。
我在数据透视表的定义中尝试了IsLocked="true"
,但它只显示了我目前所在的数据透视表项目的标题。
答案 0 :(得分:0)
我尝试过IsEnabled =“false”,但是没有用。然后我尝试将数据绑定到属性并使用setter来限制其值,这确实有效。
查看:
<Pivot SelectedIndex="{x:Bind PageViewModel.MyPivotIndex, Mode=TwoWay}">
<PivotItem Header="Item1">
<TextBlock Text="Stuff1"/>
</PivotItem>
<PivotItem Header="Item2" IsEnabled="False">
<TextBlock Text="Stuff2"/>
</PivotItem>
</Pivot>
视图模型:
private int _myPivotIndex;
public int MyPivotIndex
{
get
{
return _myPivotIndex;
}
set
{
if (ConditionMet)
{
_myPivotIndex = value;
}
else
{
_myPivotIndex = 0;
OnPropertyChanged("MyPivotIndex");
}
}
}
非MVVM选项应该有效,如果您在代码隐藏中使用“SelectionChanged”事件来检查条件,然后需要通过设置SelectedItem或SelectedIndex将其设置回Item1。
如果您希望“禁用”项目在鼠标悬停时不突出显示,则必须复制样式(https://msdn.microsoft.com/en-us/library/windows/apps/mt299144.aspx)并在“PointerOver”可视状态中修改它。