- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在处理的场景是编辑角色和权限。在列表框中,我想列出所有已定义的权限并检查已分配所选角色的权限。角色选择出现在单独的列表中。
我有一个简单的 View ,其中包含一个显示所有权限的列表框:
<ListBox
...
ItemsSource="{Binding AllPermissions}">
<ListBox.ItemTemplate>
<DataTemplate>
<CheckBox Content="{Binding DisplayName}"
IsChecked="???"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
ItemsSource 是一组权限,所选角色的权限是另一组。我如何将 IsChecked 值绑定(bind)到集合的交集(即,如果 ListBox 中的权限也在所选角色的权限中,则应选中该框)?
最佳答案
我猜您的 AllPermissions 项目源是 Permission 对象的集合。因此,只需确保除了 DisplayName 之外,它还有一些东西可以确定角色是否具有权限:
public class Permission : ViewModelBase
{
private string displayName;
private bool roleHasPermission;
public string DisplayName
{
get
{
return this.displayName;
}
set
{
this.displayName = value;
this.RaisePropertyChanged(() => this.DisplayName);
}
}
public bool RoleHasPermission
{
get
{
return this.roleHasPermission;
}
set
{
this.roleHasPermission = value;
this.RaisePropertyChanged(() => this.RoleHasPermission);
}
}
}
然后将 IsChecked 绑定(bind)到 RoleHasPermission。
现在我猜你正在从某个地方加载可用的权限,而他们目前不知道角色是否有权限,所以当你加载 AllPermissions 时,计算角色是否有权限。
我假设您继承了一个基类,该基类上有一个 RaisePropertyChanged 事件,以便在值更新时通知 View 。 (例如,如果您使用 mvvm light 或其他框架,则为您提供,或者您可以自己编写)另外,如果您希望能够通过选中/取消选中复选框来编辑权限,那么请记住设置绑定(bind) Mode=TwoWay即:
<ListBox
...
ItemsSource="{Binding AllPermissions}">
<ListBox.ItemTemplate>
<DataTemplate>
<CheckBox Content="{Binding DisplayName}"
IsChecked="{Binding RoleHasPermission, Mode=TwoWay}"/>
</DataTemplate>
</ListBox.ItemTemplate>
关于c# - WPF MVVM ListBox.ItemTemplate CheckBox IsChecked 绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15953897/
我有一个选择“全部”复选框,我希望将其绑定(bind)到其他复选框的 (IsChecked || !IsEnabled)。 选中“全部”会选中所有启用的复选框。 取消选中“全部”会取消选中所有复选框。
我在运行时动态创建了一些复选框,现在我想知道其中一个是否被选中。我怎样才能做到这一点? for (int i = 0; i < cnt; i++) { cb =
当我在学习 Android 开发者基础类(class)时,我对下面的代码产生了以下疑问。 public void onRadioButtonClicked(View view) { /
是否弃用了 isChecked() 方法? 我正在为 android UI 编码并使用 UiAutomator Framework 那里没有显示这个方法 我正在尝试通过 isChecked() 验证一
这让我很生气。我有一个简单的 WPF 切换按钮,有两个 IsChecked 触发器。一个为真值,另一个为假值。未选中按钮时它工作正常,应用了我的 false 样式;但是,系统从不应用 IsChecke
如何使用单选按钮“IsChecked”属性控制文本框的可见性? 我有一个两个文本框,比如说 txtbox1 和 txtbox2,我想根据单选按钮 IsChecked 属性绑定(bind)这两个文本框的
所以我有一个复选框,它使用 WPF/MVVM 触发命令,这工作正常,但我想使用复选框的 IsChecked 属性作为命令参数。我试过这个。 但是我在输出窗口中收到一个错误,上面写着 System
我有两个单选按钮,我希望默认选择其中一个。我添加了 IsChecked="true" ,但它不起作用。我还尝试将其设置在窗口加载中。 但是当我单击第二个选项然后单击第一个选项时,一切正常。 它只是在第
我有以下用于切换按钮的 xaml:
我正在尝试构建一个函数来更改复选框选择上的文本,请检查以下内容... Jquery代码 $(document).ready(function() { if($('#active').is(':chec
我正在编写一个程序,其中有一个由一系列复选框组成的组合框。用户可以选择任意数量的复选框。之后,当他点击一个按钮时,我想检查所有复选框以查看哪些已被选中,哪些未被选中。 但我不知道该怎么做。我尝试了很多
这个问题在这里已经有了答案: How do I compare strings in Java? (23 个回答) 关闭 7 年前。 我在 Activity 上使用复选框来确定需要将对象添加到哪个列
选中复选框时,以下代码不起作用。无论复选框是否被选中,它都会跳转到“else”语句。 void MainWindow::runButtonClicked() {
我有一个使用 C# 编写的 UWP 应用程序。我有一个单选按钮,用户可以选中或取消选中。默认情况下它是选中的,用户可以在需要时取消选中它。但是,当他们取消选中它时,RadioButton.IsChec
这是我要实现的目标的简化示例; " id="myCheckBox" /> 然后在我后面的代码中; public partial class _Default : System.Web.UI.Page
找到了很多例子,但没有一个合适!我的列表框是 Result 对象的列表。可以在列表框中选中或取消选中结果以将其标记为“允许”传输。 文件列表模板
Android version: 3.1 API version: Android 2.2 Device: Motorola MX604 我动态创建了 CheckedTextView 项目的多选 Li
我正在尝试使用 fragment 构建我的 PreferenceActivity。我有一个包含两个 CheckBoxPreferences 的 PreferenceFragment: 我的 Fra
我正在努力测试类的属性值是否在单击切换器后发生变化。 所以这里我有组件类(没什么复杂的-.-): import { Component, EventEmitter, Input, OnInit, Ou
我有带有 ToggleButtons 数量的自定义控件: ...
我是一名优秀的程序员,十分优秀!