UWP ListView 动态改变选择模式
UWP ListView change Selection mode dynamically
我想知道是否有一种方法可以通过按下按钮将列表视图的选择模式从单个更改为多个,反之亦然。我尝试绑定到 ListView 选择模式,但这不起作用。也许我做错了什么。
<ListView SelectionMode="{x:Bind SelectionMode}"/>
在我的点击按钮代码中:
if (MultipleSelectionModeEnabled)
{
SelectionMode = ListViewSelectionMode.Multiple;
}
else
{
SelectionMode = ListViewSelectionMode.Single;
}
如果你做的一切都正确(因为我没有看到完整的代码,所以无法判断),然后将 Mode=OneWay
添加到 x:Bind
表达式应该会有所帮助,因为默认模式 x:Bind
是 OneTime
.
<ListView SelectionMode="{x:Bind SelectionMode, Mode=OneWay}"/>
x:Bind
是编译时绑定。即,所有编译在渲染之前完成。所以如果你想强制你的改变,你需要在属性更新后调用Bindings.Update()
。
看看这里关于这个的解释。
所以像这样更改您的代码
if (MultipleSelectionModeEnabled)
{
SelectionMode = ListViewSelectionMode.Multiple;
}
else
{
SelectionMode = ListViewSelectionMode.Single;
}
Bindings.Update();
祝你好运。
我想知道是否有一种方法可以通过按下按钮将列表视图的选择模式从单个更改为多个,反之亦然。我尝试绑定到 ListView 选择模式,但这不起作用。也许我做错了什么。
<ListView SelectionMode="{x:Bind SelectionMode}"/>
在我的点击按钮代码中:
if (MultipleSelectionModeEnabled)
{
SelectionMode = ListViewSelectionMode.Multiple;
}
else
{
SelectionMode = ListViewSelectionMode.Single;
}
如果你做的一切都正确(因为我没有看到完整的代码,所以无法判断),然后将 Mode=OneWay
添加到 x:Bind
表达式应该会有所帮助,因为默认模式 x:Bind
是 OneTime
.
<ListView SelectionMode="{x:Bind SelectionMode, Mode=OneWay}"/>
x:Bind
是编译时绑定。即,所有编译在渲染之前完成。所以如果你想强制你的改变,你需要在属性更新后调用Bindings.Update()
。
看看
所以像这样更改您的代码
if (MultipleSelectionModeEnabled)
{
SelectionMode = ListViewSelectionMode.Multiple;
}
else
{
SelectionMode = ListViewSelectionMode.Single;
}
Bindings.Update();
祝你好运。