【问题标题】:UWP ListView change Selection mode dynamicallyUWP ListView 动态改变选择模式
【发布时间】:2017-09-30 03:04:02
【问题描述】:
我想知道是否有一种方法可以将列表视图的选择模式从单个更改为多个,反之亦然,只需按下按钮即可。我尝试绑定到 ListView 选择模式,但这不起作用。也许我做错了什么。
<ListView SelectionMode="{x:Bind SelectionMode}"/>
在我的点击按钮代码中:
if (MultipleSelectionModeEnabled)
{
SelectionMode = ListViewSelectionMode.Multiple;
}
else
{
SelectionMode = ListViewSelectionMode.Single;
}
【问题讨论】:
标签:
windows
listview
uwp
win-universal-app
multipleselection
【解决方案1】:
如果你做的一切都是正确的(因为我没有看到整个代码,所以无法判断),那么将Mode=OneWay 添加到x:Bind 表达式应该会有所帮助,因为x:Bind 的默认模式是OneTime。
<ListView SelectionMode="{x:Bind SelectionMode, Mode=OneWay}"/>
【解决方案2】:
x:Bind 是编译时绑定。即,所有编译在渲染之前完成。所以如果要强制更改,需要在属性更新后调用Bindings.Update()。
看看Accepted Answer这里的解释。
所以像这样改变你的代码
if (MultipleSelectionModeEnabled)
{
SelectionMode = ListViewSelectionMode.Multiple;
}
else
{
SelectionMode = ListViewSelectionMode.Single;
}
Bindings.Update();
祝你好运。